ciao a tutti , sono un novellino del php e sto cercando di fare uno script di registrazione utenti , ecco quello che ho fatto fino ad adesso :
Login.php
Codice PHP:
<?php
//Connessione al database e funzioni
include('config.php');
include('funzioni.php');
//Controllo esistenza dei campi
if(isset($_POST['nome'],$_POST['cognome'],$_POST['giorno'],$_POST['mese'],$_POST['anno'],$_POST['username'],$_POST['password'],
$_POST['verpassword'],$_POST['email']))
{
// Verifica dei dati
if(empty($_POST['nome']) xor strlen($_POST['nome'])<3 or strlen($_POST['nome'])>10)
{
echo "Il tuo nome deve avere un minimo ed un massimo di 3 e 10 caratteri";$stop= TRUE;
}
if(empty($_POST['cognome']) xor strlen($_POST['cognome'])<3 or strlen($_POST['cognome'])>10)
{
echo "Il tuo cognome deve avere un minimo ed un massimo di 3 e 10 caratteri";$stop= TRUE;
}
if(empty($_POST['giorno']) or empty($_POST['mese']) or empty($_POST['anno']))
{
echo "Non hai inserito correttamente la tua data di nascita";$stop= TRUE;
}
if(empty($_POST['username']) xor strlen($_POST['username'])<5 or strlen($POST['username']) > 13)
{
echo "Il tuo username deve avere un minimo ed un massimo di 5 e 13 caratteri";$stop= TRUE;
}
if(empty($_POST['password']) xor strlen($_POST['password'])<5 or strlen($_POST['password'])>15)
{
echo "la tua password deve avere un minimo ed un massimo di 5 e 15 caratteri";$stop= TRUE;
}
if(empty($_POST['verpassword']) xor strlen($_POST['verpassword'])<3 or strlen($_POST['verpassword'])>10)
{
echo "Devi riscrivere la tua password";$stop= TRUE;
}
if($_POST['password'] != $_POST['verpassword'])
{
echo"Le due password non coincidono";$stop= TRUE;
}
if(!ereg("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$",
$_POST['email']))
{
echo "email non valida";$stop= TRUE;
}
else
{
echo "email inserita correttamente";
}
}
if(!$stop)
{
//Validazione dati
$nome=mysql_real_escape_string($_POST['nome']);
$cognome=mysql_real_escape_string($_POST['cognome']);
$giorno=mysql_real_escape_string($_POST['giorno']);
$mese=mysql_real_escape_string($_POST['mese']);
$anno=mysql_real_escape_string($_POST['anno']);
$username=mysql_real_escape_string($_POST['username']);
$password=mysql_real_escape_string($_POST['password']);
$verpassword=mysql_real_escape_string($_POST['verpassword']);
$email=mysql_real_escape_string($_POST['email']);
$passkey=passkey();
//inserimento dai nel database
$invio=mysql_query("INSERT INTO utenti(nome,cognome,giorno,mese,anno,username,password,verpassword,email,passkey)
VALUES('$nome','$cognome','$giorno','$mese','$anno','$username','md5($password)','$verpassword','$email','$passkey')",$connessione);
if(!$invio)
{
echo "Problemi durante la query";
}
?>
<form method ="post" action="<?= $_SERVER['PHP_SELF']; ?>" id="formregistrazione" enctype="multipart/form-data">
<ul>
<li>
<label for="nome">Nome</label><br>
<input type="text" name="name" id="nome"/>
</li>
<li>
<label for="cognome">Cognome</label><br>
<input type="text" name="cognome" id="cognome"/>
</li>
<li>
<label for="compleanno">Data di nascita</label><br>
<select name="giorno">
<option value="" disabled="disabled" selected="selected">
<?php for($i=1;$i<32;$i++) { ?>
<option value="<?php echo $i;?>"><?php echo $i; ?></option>
</select>
<select name="mese" value="mese">
<option value="" disabled="disabled" selected="selected">
<?php $mese= array('','Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre',); for($i=1;$i<13;$i++) { ?>
<option value="<?php echo $mese[$i];?>"><?php echo $mese[$i]; ?></option>
</select>
<select name="anno">
<option value="" disabled="disabled" selected="selected">
<?php for($i=1990;$i<2014;$i++) { ?>
<option value="<?php echo $i;?>"><?php echo $i; ?></option>
</select>
</li> <li>
<label for="username">Username:</label><br>
<input type="text" id="username" name="username"/>
</li>
<li>
<label for="username">Password</label><br>
<input type="password" id="password" name="password"/>
</li> <li>
<label for="verificapassword">Verifica Password</label><br>
<input type="password" id="verpassword" name="verpassword"/>
</li> <li>
<label for="mail">e-mail:</label><br>
<input type="text" id="mail" name="mail"/>
</li>
<input type="submit" id="invio" name="invio"/>
</li>
</ul>
</form>
Config.php
Codice PHP:
//Connessione al database
$connessione =mysql_connect("localhost","","password");
mysql_select_db("my_");
if(!$connessione)
{
echo "connessione non riuscita";
}else{
echo "connessione riuscita";
}
Funzioni.php
Codice PHP:
<?php
function passkey()
{
$str = 'ABCDEFGHKLMNOPQRSTWXYZabcdefghjkmnpqrstwxyz123456789';
$r = '';
$l = 8+rand(0,5);
for($i=0;$i<$l;$i++)
$r .= $str{rand(0,strlen($str))};
return $r;
}
Ecco , nel file login.php mi esce il seguente errore :
Parse error: syntax error, unexpected $end in /membri/animesvillage/iscrizione.php on line 118
Perchè non funziona?? nella linea 118 non c'è niente!!
e poi mi dite come si a mandare una email di conferma iscrizione utente???
e soprattutto cosa devo mettere nella tabella utenti del mio database???