Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Sticky Form

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    10

    Sticky Form

    Salve a tutti,
    già da tempo sono su qst eserzizio che almeno per me è impossibile.
    Se mi potete essere di aiuto ve ne sarei molto grato.
    Vi allego il link dove poterlo reperire.


    http://caprera.dia.unisa.it/TSW/Esami/080918.pdf


    Grazie a tutti coloro che decideranno di aiutarmi.

  2. #2
    Non mi sembra nulla di impossibile.
    Ragiona per piccoli passi.
    Prima fai un DB con un paio di nomi utenti/password per l'autenticazione, poi compili lo script che ti permette o meno l'accesso.
    Tutto il resto lo lasci per quando questa prima parte di script funzionerà!

    Mi pare di poter dire che i passaggi sono praticamente tutti scritti, quindi non so cosa ti serve.
    Se pensi invece che il forum sia un bancomat del codice, hai proprio sbagliato sito!!!!
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    10
    Ciao,
    grazie per le indicazioni, ma come specificato da te, nn servono.... nel senso che tt è scritto ma qll che a me interessava nn era il primo script o il database....fin lì tt ok!!!
    Il problema riguarda la parte della sticky form, dove preticamente nn so dove mettere le mani!! Mi spiego meglio:

    index.html

    <html>
    <head>
    <link rel="stylesheet" type="text/css" href="stile.css" ></link>
    </head>
    <body>
    <form method="POST" action="autenticazione.php" action="ordinazione.php" name="index">
    <fieldset align="center">
    <legend align="center">Accedi all'Ordine</legend>
    <table align="center">
    <tr><td>Login</td><td><input type="text" name="login"></input></td></tr>
    <tr><td>Password</td><td><input type="password" name="password"></input></td></tr>
    <tr><td colspan=2 align="center"><input type="submit" value="Entra"></input><input type="reset" value="Cancella"></input></td></tr>
    </table>
    </fieldset>
    </form>
    </body>
    </html>


    autenticazione.php

    <?php
    $login=$_POST["login"];
    $password=$_POST["password"];

    //Connessione al Db
    mysql_connect("localhost","root","root") or die("ERRORE!! Connessione al DB: ".mysql_error());

    //Selezione del Db
    mysql_query("USE esame_sett") or die("ERRORE!! DB non selezionato: ".mysql_error());

    //Selezione dei dati dalla tabella
    $ris=mysql_query("SELECT login FROM accessi WHERE login='$login'") or die("ERRORE!! Selezione dati dalla tabella: ".mysql_error());

    //Numero di righe nella tabella
    $num_righe=mysql_num_rows($ris);

    //Verifica se la login è già presente nel Db
    if($num_righe>0){
    header('Location: http://localhost\TSW\Esami\Esami_08\...rdinazione.php');
    }else
    header('Location: http://localhost\TSW\Esami\Esami_08\08_09_18\errore.php');
    ?>


    DA QUI INIZIA IL PROBLEMA: PER L'ERRORE TT FACILE, MA PER ORDINAZIONE?????

    COME FACCIO A CREARE LA STICKY FORM?


    SCUSATE L'IGNORANZA, MA SE POTETE ESSERMI DI AIUTO VERAMENTE VE NE SAREI GRATI!!!

  4. #4
    Non so cosa tu possa intendere con Sticky Forms, ma se quello che pensi te di questo concetto è quello che penso io, puoi seguire quanto scritto in questo ARTICOLO.

    Se invece, il tuo problema è comporre la form, senza che sia assolutamente "sticky", devi prima disposrre di due tabelle.
    Una con gli ingredienti per ogni pizza, a cui corrisponde il sovraprezzo da aggiungere a quello base, uno per inviare gli ordini.
    Dovresti quindi creare due tabelle del tipo:
    codice:
    // TABELLA INGREDIENTI
    id - nome_ingrediente - prezzo 
    
    // TABELLA ORDINI
    id - id_cliente - data_ordine - pizza_ordinata - prezzo_totale
    Qui ti può sorgere qualche inghippo se decidi di dare la possibilità di fare ordinare più pizze per ogni singolo utente e te la potresti giostrare in diversi modi.
    Ma noi prendiamo in esame solo la possibilità di ordinare una sola pizza per ogni utente.

    La prima cosa che vai a fare nella pagina ordinazione.php è recuperare la lista ed i prezzi dei singoli ingredienti, con cui poi andrai a popolare la form.
    Per ogni item della form devi prevedere un campo check-box che indichi se quel singolo ingrediente sia stato agiunto o meno.
    Nel tema definito nell'esercizio si parla di aggiornamento automatico del prezzo in uno specifico campo (prezzo_totale) della form, ma per ottenere il risultato richiesto si deve uscire dal PHP ed entrare nel Javascript.

    Sviluppa quanto scritto fino a qui che poi piano piano arriveremo alla soluzione.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    10
    Grazie tanto ALCIO.... ora faccio qll che mi hai detto e poi vediamo se si gunge alla conclusione

    Ancora grazie

  6. #6
    Buon lavoro.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    10
    Pazientissimo ALCIO74,
    finalmente sono giunto ad un qlc, che non mi pare proprio qll voluto, ma che cmq sembra prendereci la forma.
    Il problema ora, è nell'aggiornare il totale ogni volta che si spunta una checkbox!!!
    Mi potresti aiutare???

    Ti ringrazio anticipatamente....


    DB.SQL

    CREATE DATABASE esame_sett;

    USE esame_sett;

    CREATE TABLE accessi(id INT(10) NOT NULL AUTO_INCREMENT, login VARCHAR(15) NOT NULL, password VARCHAR(8) NOT NULL, PRIMARY KEY(id));

    INSERT INTO accessi VALUES
    (1,"domsca","domenico"),
    (2,"caramo","carmen"),
    (3,"vintuf","vincenza"),
    (4,"vinlan","vincenzo"),
    (5,"fracas","francesco"),
    (6,"artsca","arturo");

    CREATE TABLE condimenti(id INT(10) NOT NULL AUTO_INCREMENT, nome_cond VARCHAR(15) NOT NULL, disponibile INT(1) NOT NULL, costo FLOAT(9) NOT NULL, PRIMARY KEY(id));

    INSERT INTO condimenti VALUES
    (1,"Salsiccia",1,2.20),
    (2,"Peperoni",0,1.50),
    (3,"Broccoli",1,1.00),
    (4,"Salame Picc.",1,3.12),
    (5,"Funghi",0,0.50),
    (6,"Olive",1,0.90),
    (7,"Gamberetti",1,4.00),
    (8,"Melenzane",0,2.00),
    (9,"Mozzarella di Bufala",0,3.00),
    (10,"Nutella",1,3.50);



    INDEX.HTML

    <html>
    <head>
    <link rel="stylesheet" type="text/css" href="stile.css" ></link>
    </head>
    <body>
    <form method="POST" action="autenticazione.php" action="ordinazione.php" name="index">
    <fieldset align="center">
    <legend align="center">Accedi all'Ordine</legend>
    <table align="center">
    <tr><td>Login</td><td><input type="text" name="login"></input></td></tr>
    <tr><td>Password</td><td><input type="password" name="password"></input></td></tr>
    <tr><td colspan=2 align="center"><input type="submit" value="Entra"></input><input type="reset" value="Cancella"></input></td></tr>
    </table>
    </fieldset>
    </form>
    </body>
    </html>




    AUTENTICAZIONE.PHP

    <?php
    $login=$_POST["login"];
    $password=$_POST["password"];

    session_start();
    $_SESSION["login"] = "$login";

    //Connessione al Db
    mysql_connect("localhost","root","root") or die("ERRORE!! Connessione al DB: ".mysql_error());

    //Selezione del Db
    mysql_query("USE esame_sett") or die("ERRORE!! DB non selezionato: ".mysql_error());

    //Selezione dei dati dalla tabella
    $ris=mysql_query("SELECT login FROM accessi WHERE login='$login'") or die("ERRORE!! Selezione dati dalla tabella: ".mysql_error());

    //Numero di righe nella tabella
    $num_righe=mysql_num_rows($ris);

    //Verifica se la login è già presente nel Db
    if($num_righe>0){
    header('Location: http://localhost\TSW\Esami\Esami_08\...rdinazione.php');
    }else
    header('Location: http://localhost\TSW\Esami\Esami_08\08_09_18\errore.php');
    ?>


    ORDINAZIONE.PHP

    <?php
    session_start();
    mysql_connect("localhost","root","root") or die("Connessione fallita");
    mysql_query("USE esame_sett") or die("Database nn selezionato");
    $ris=mysql_query("SELECT * FROM condimenti")or die("La tabella non è stata selezionata");
    $num_rows=mysql_num_rows($ris) or die("Numero righe non ottenuto");
    ?>

    <html>
    <head></head>
    <body>
    <table>
    <form method="POST" action="">
    <tr><td align="center"><h2>Benvenuto <?php echo $_SESSION["login"]; ?></h2></td></tr>
    <tr><td>
    <table border rules="none">
    <tr><td align="center">Condimento</td><td align="center">Costo</td></tr>
    <?php
    for($j=0;$j<$num_rows;$j++){
    $riga=mysql_fetch_row($ris);
    if($riga[2]==1) //ci permette di visualizzare solo i condimenti a disposizione delle cucine
    print("<tr><td><input type='checkbox' value='$j'>$riga[1]</input></td><td>$riga[3]</td></tr>");
    }
    ?>
    <tr><td>Totale:</td><td>
    <?php
    NON RIESCO A BUTTARE GIù CODICE PER IL TOTALE???????

    ?>
    </td></tr>
    <tr><td colspan=2><input type="submit" value="Ordina la Pizza"></input></td></tr>
    </table>
    </td></tr>
    </form>
    </table>
    </body>
    </html>

    <?php
    session_destroy();
    ?>

  8. #8
    Beh.... in questo caso puoi agire in due modi, ma il tema che ti è stato affidato prevede l'utilizzo di JavaScript, per cui devi andare a postare nel forum apposito.

    Ad ogni modo, nella pagina ORDINAZIONE.PHP vai a fare una query di select alla tabella condimenti.
    Estrai tutti i valori in un array (mysql_fetch_array).
    La form deve avere dei checkbox ed anche un campo di testo dove ci metterai il prezzo totale della pizza (sostanzialmente prevedi un prezzo base a cui andrai ad aggiungere quello di ogni condimento aggiuntivo).

    Ogni checkbox avrà il value corrispondente al prezzo che hai estratto dal DB.
    Un ottimo esercizio sarebbe quello di prevedere la checkbox disabilitata per i condimenti che non sono disponibili (quelli con il valore settato a 0).

    Javascript, al momento di ogni singola modifica alla form (quindi ogni volta che uno che ordina vuole aggiungere un condimento) andrà a prendere il valore associato a quella checkbox, a sommarlo al prezzo di base e a stampare nel campo PREZZO il totale.

    Per non andare Off-Topic, però, ti rimando al forum su Javascript.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    10
    Grazie infinitamente ALCIO....

    Spero che i tuoi cosigli possano dare il frutto desiderato, non solo in qst ex ma anche nel seguito della mia carriera


    Ancora Grazie.... Se potessi rilasciare feedback, per me saresti già powerseller

  10. #10
    La sua soddisfazione è il nostro miglior premio!
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.