- Home
- Categorie
- Coding e Sistemistica
- PHP
- Aggiungere un menu a tendina in modulo per l'iscrizione
-
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
-
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>
-
Perfetto. Visto ora è semplicissimo ma davvero non ci saltavo fuori.
Grazie 1000
-
Che bello, finalmente riesco ad aiutare qualcuno anch'io, chi l'avrebbe mai detto ciao.
-
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']);
-
Grazie per il consiglio. Studierò la funzione real_escape (già questo evidenzia la mia ignoranza) per poi inserirla.:)
-
Volendo puoi utilizzare anche addslashes();
ricordati cmq, di eseguire la funzione stripslashes(); quando visualizzi i dati letti dal DB.
-
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