salve ragazzi spero che qualcuno possa darmi una mano sto realizzando un sito di annunci visibile a da questo indirizzo www.tuttoagogo.it sono ancora all'inizio o anzi meglio non o ancora fatto nulla
sto realizzando un login con registrazione
questo e il mio codice di registrazione
i collegamenti al database sono impaginate
vado a registrarmi e tutto sembra andato a buon fine ma noto che nel mi database le pass criptate sono tutte identiche( ovvio che nella registrarmi o usato pass diverse ) non capisco dove l'errore
poi passiamo a login
questo e il mio codice
vado per inserire i mie dati e salta fuori echo "Dati non presenti nel database !!!"; pur essendomi registrato con successo
potreste darmi una mano nel risolvere il problema
o pure un codice login registrazione piu bello e pratico per gli utenti come quello usato da subito.it
sto realizzando un login con registrazione
questo e il mio codice di registrazione
PHP:
<?php
if (!isset ($_GET['passkey'])){
if (!isset ($_POST['invia'])){ ?>
<form method="post" action="#" id="formregistrazione">
<label for="username">Username</label><br />
<input type="text" name="username" id="username" /><br />
<label for="password1">Password</label><br />
<input type="password" name="password1" id="password1"/><br />
<label for="password2">Ripeti Password</label><br />
<input type="password" name="password2" id="password2"/><br />
<label for="email">Email</label><br />
<input type="text" name="email" id="email" /><br /><br />
<input type="submit" name="invia" id="registrati" value=" Registrati " /><br />
</form>
<?php
} else {
// creazione di codice di conferma
$codiceconferma = md5(uniqid(rand( )));
// valori del form
$username = mysql_real_escape_string($_POST['username']);
$password1 = mysql_real_escape_string($_POST['password1']);
$password2 = mysql_real_escape_string($_POST['password2']);
$email = mysql_real_escape_string($_POST['email']);
/// controllo campi vuoti e pass
if($username == "" || $email == ""){
echo "Devi riempire tutti i campi";
}elseif ($password1 == "" || $password2 == ""){
echo "Devi riempire tutti i campi";
}elseif ($password2 != $password1){
echo "Le password devono coincidere";
}else{
// inserisci i dati nel db utenti temporanei
$recuperauseremail = mysql_query("SELECT id FROM utenti WHERE username='$username' OR email='$email'");
$contauseremail = mysql_num_rows($recuperauseremail);
if($contauseremail > 0) {
echo "Nome utente o email gia disponibili";
}else {
// invia dati alla tb utenti_temp
$inviautentitemp = mysql_query("INSERT INTO utenti_temp (codiceconferma,username,password,email) VALUES ('$codiceconferma','$username','$paswword2','$email')");
if($inviautentitemp){
$to=$email;
$subject="Conferma la Registrazione";
$header="Da:Amministratore";
$message="Ecco il tuo codice di attivazione \r\n";
$message.="Clicca sul link per confermare la registrazione \r\n";
//
$message.="http://tuttoagogo.it/php-login-A-GoGo/register.php?passkey=$codiceconferma";
//
$sentmail=mail($to,$subject,$message,$header);
}
if($sentmail){
echo "Per completare la registrazione controlla la tua casella di posta eletronica e clicca sul link di attivazione";
}else{
echo "ERRORE, link di attivazione non inviato.";
}
}
}
}
} else {
$passkey = $_GET['passkey'];
$sqlrecuperauser = "SELECT * FROM utenti_temp WHERE codiceconferma ='$passkey'";
$risultatouser = mysql_query($sqlrecuperauser);
if($risultatouser) {
$contauser = mysql_num_rows($risultatouser);
if($contauser == 1) {
$rows= mysql_fetch_array($risultatouser);
$username = $rows['username'];
$email = $rows['email'];
$password = $rows['password'];
$passwordcript = md5($password);
$sqlconfermauser = mysql_query ( "INSERT INTO utenti (username,password,email) VALUES('$username','$passwordcript','$email')");
if ($sqlconfermauser){
echo "Il tuo account è stato attivato con successo";
$sqleliminadati = mysql_query("DELETE FROM utenti_temp WHERE codiceconferma = '$passkey'");
}else{
echo "ERRORE !!!";
}
}
}
}
?>
i collegamenti al database sono impaginate
vado a registrarmi e tutto sembra andato a buon fine ma noto che nel mi database le pass criptate sono tutte identiche( ovvio che nella registrarmi o usato pass diverse ) non capisco dove l'errore
poi passiamo a login
questo e il mio codice
PHP:
<?php
$p = $_GET['azione'];
// login.php?azione=login
if ($p == "login"){
if (!isset ($_POST['invia'])){ ?>
<form method="post" action="#" id="formlogin">
<label for="username">Username</label>
<input type="text" name="username" id="username" /><br />
<label for="password">Password</label>
<input type="password" name="password" id="password"/><br />
<input type="submit" name="invia" id="login" value="Accedi" />
</form>
<?php }else{
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
if($username == "" || $password == ""){
echo "Attenzione, devi compilare tutti i campi";
}else {
$password_cript = md5($password);
$recuperadati = mysql_query("SELECT * FROM utenti WHERE username= '$username' AND password= '$password_cript'");
$verificadati = mysql_num_rows($recuperadati);
if($verificadati == 1){
$sessione = mysql_fetch_array($recuperadati);
$_SESSION['utente'] = $sessione['username'];
echo "Login effetuato con successo ! ";
header("Refresh: 2; URL= index.php");
}else {
echo "Dati non presenti nel database !!!";
}
}
}
// login.php?azione=logout
}elseif ($p == "logout"){
session_destroy();
echo "Login effetuato con successo ! ";
header("Refresh: 2; URL= index.php");
}
?>
vado per inserire i mie dati e salta fuori echo "Dati non presenti nel database !!!"; pur essendomi registrato con successo
potreste darmi una mano nel risolvere il problema
o pure un codice login registrazione piu bello e pratico per gli utenti come quello usato da subito.it