• User

    Aggiungere un menu a tendina in modulo per l'iscrizione

    Salute a tutti.
    Ho un form di iscrizione completo di email di conferma funzionante anche grazie al vostro aiuto:).
    Invio la parte di codice che permette l'inserimento dei dati utente in Mysql.
    [php] <?
    // ometto parte di codice per verifiche dei formati e messaggi .....
    if(isset($_POST['submit']) && (trim($_POST['submit']) == "Iscriviti"))
    else{
    $email = $_POST['email'];
    $password = $_POST['password'];
    $username = $_POST['username'];
    $indirizzo = $_POST['indirizzo'];
    $citta = $_POST['citta'];
    @include "config.php";
    else{

      if(@mysql_query("INSERT INTO iscriviti (username, email, password,  indirizzo, citta )
      VALUES('$username','$email','$password','$indirizzo','$citta' )") or die (mysql_error()))
     // ometto parte di codice per le verifiche formati e messaggi  .....
    }
    

    }
    }else{
    ?>
    <h1>Modulo d'iscrizione:</h1><br>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    Username:<br><input name="username" type="text" size="20"><br>
    Email:<br><input name="email" type="text" size="20"><br>
    Scegli una password:<br> <input name="password" type="password" size="20"><br>
    <input name="indirizzo" type="text" size="50">Indirizzo<br>
    <input name="citta" type="text" size="25">Cittá<br>
    <input name="submit" type="submit" value="Iscriviti"> <br>
    </p> </form>
    <?
    }
    ?>
    [/php]
    Ora vorrei migliorarlo :?con l'inserimento di un menu a tendina dove l'utente selezionerà alcune opzioni del tipo[html]<select name="Genere">
    <option value="1">Pittura</option>
    <option value="2">Scultura</option>
    <option value="3">Poesia</option>
    </select>[/html]
    Ho provato a consultare vari tutorial e codici ma non ne vengo fuori:bho:. Potete aiutarmi?
    Grazie


  • User

    Dopo
    $citta = $_POST['citta'];
    inserisci
    $genere = $_POST['genere'];
    e prima di
    </p> </form>
    inserisci
    <select name="Genere">
    <option value="1">Pittura</option>
    <option value="2">Scultura</option>
    <option value="3">Poesia</option>
    </select>


  • User

    Perfetto. 🙂 Visto ora è semplicissimo ma davvero non ci saltavo fuori.
    Grazie 1000


  • User

    Che bello, finalmente riesco ad aiutare qualcuno anch'io, chi l'avrebbe mai detto 😉 ciao.


  • User Attivo

    Un consiglio:

    Quando lavori con dei dati in GET o POST, assicurati sempre del contenuto.

    Per maggiore sicurezza quindi ti conviene effettuare sempre un controllo sulle variabili passate, semplicemente utilizzando una funzione chiamata:

    mysql_real_escape_string()

    che in pratica aggiunge le sequenze di escape ai caratteri speciali in una stringa.

    La puoi utilizzare così:

    $var1=mysql_real_escape_string($_POST['var1']);

    😉


  • User

    Grazie per il consiglio. Studierò la funzione real_escape (già questo evidenzia la mia ignoranza) per poi inserirla.:)


  • User Attivo

    Volendo puoi utilizzare anche addslashes();

    ricordati cmq, di eseguire la funzione stripslashes(); quando visualizzi i dati letti dal DB.


  • User Attivo

    Ciao,
    fai attenzione anche all'uso di addslashes e altre funzioni che inseriscono caratteri di escape.
    Se il php è impostato per inserirli già in automatico, ovvero magic quotes gpc è attivo, poi ti ritrovi i caratteri di escape raddoppiati.

    Dovrresti quindi fare un controllo sullo "stato" di magic quotes gpc, ad esempio in questo modo:
    [php]
    if (!get_magic_quotes_gpc())
    {
    $citta = addslashes($_POST['citta']);
    }
    else
    {
    $citta = $_POST['citta'];
    }
    [/php]

    Alessandro