Voglio creare una pagina per utenti certificati ma ho un problema:
Se registro un nick mi fa loggare successivamente, se ne registro 2 anche se li vedo nel database posso loggarmi col secondo ma $member[password] sono tutte le pwd salvate ripetute due volte.
Ecco la mia pagina login.php
Codice PHP:
<?php
#include("top_foot.inc.php"); ho commentato volutamente
include("config.php");
#top();
$db = mysql_pconnect($db_host, $db_user, $db_password);
if($db==FALSE)
die("Errore nella connessione. Verificare i parametri nel file config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file confing.inc.php");
echo "
PAGINA CREATA DA HOFFA
";
$vedipwd= "SELECT password FROM utenticertificati WHERE utente ='$nick'" ;
#eval("\$vedipwd = \"$vedipwd\";");
$ricpwdd= mysql_query($vedipwd,$db);
#eval("\$ricpwdd = \"$ricpwdd\";");
if (mysql_query($vedipwd,$db))
{echo "L'installazione è riuscita";}
else
{echo "Errore durante l'installazione:
" . mysql_error();}
eval("\$pere = \"$ricpwdd\";");
echo "$pere";
echo "
";
echo "PWD:";
echo "$utenticertificati.password";
echo "
";
$querylog = "SELECT * FROM utenticertificati WHERE utente ='$nick'";
if (mysql_query($querylog,$db))
{echo "
L'estrazione è riuscita";}
else
{echo "
Errore durante l'estrazione:
" . mysql_error();}
$querylog32=mysql_query($querylog,$db);
$queryloga = "SELECT * FROM utenticertificati WHERE utente ='$nick' AND password='$passw' ";
$querylog22=mysql_query($queryloga,$db);
if (!$querylog22) {
echo "Fallimento nell'esecuzione della query ($sql) dal DB: " . mysql_error();
#exit;
}
if (mysql_num_rows($querylog22) == 0) {
echo "Nessuna riga trovata, niente da stampare quindi si esce";
#exit;
}
if (mysql_num_rows($querylog22) != 0)
{
echo "Il login è esatto ";
}
$member = mysql_fetch_row($querylog);
echo"
Pippo";
echo "
";
echo "$nick";
echo "
";
echo "Volontasd";
echo "
";
while ($member = mysql_fetch_array($querylog32))
{
echo "$member[password]";
}
if ($member[password]!=passw)
{echo "Hai toppato la password";}
else
{echo"Hai indovinato la password";}
mysql_close($db);
?>
e la mia pagina registra.php
Codice PHP:
<?php
#include("top_foot.inc.php"); ho commentato volutamente
include("config.php");
#top();
$db = mysql_pconnect($db_host, $db_user, $db_password);
if($db==FALSE)
die("Errore nella connessione. Verificare i parametri nel file config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file confing.inc.php");
echo "
PAGINA CREATA DA HOFFA
";
if ( (empty($nick)) || (empty($passw)))
{
# esegue questa parte perché il form non è stato ancora inviato
echo "<FORM METHOD=POST ACTION=\"$PHP_SELF\">";
echo "Registrati alla pagina riservata";
echo "
Nickname
<INPUT TYPE=\"TEXT\" NAME=\"nick\">";
echo "
Password
<INPUT TYPE=\"TEXT\" NAME=\"passw\">";
echo "
Email
<INPUT TYPE=\"TEXT\" NAME=\"emaile\">";
echo "
";
echo "<INPUT TYPE=\"SUBMIT\" NAME=\"submit\" VALUE=\"Registrati\">";
echo "<INPUT TYPE=\"RESET\" VALUE=\"Cancella!\">";
echo "</FORM>";
}
else
{
# il form è stato inviato
echo "Ora ti arriverà una mail con indirizzo per convalidare la tua iscrixione.";
echo "
Questo è per cercare di evitare fake e spam";
if ($nick=="")
{
echo "Inserisci il tuo nick. Grazie";
echo "[*]<a href=\"";
echo "registra.php\">Torna alla pagina di registrazione</a>";
}
elseif ($emaile=="")
{
echo "Inserisci il tuo indirizzo e-mail. Grazie";
echo "[*]<a href=\"";
echo "registra.php\">Torna alla pagina di registrazione</a>";
}
elseif ($passw=="")
{
echo "Inserisci la tua password. Grazie";
echo "[*]<a href=\"";
echo "registra.php\">Torna alla pagina di registrazione</a>";
}
else
{
$oggetto= "Richiesta di registrazione alla pagina riservata";
#$messaggioa= "Ci è pervenuta una richiesta di iscrizione alle pagine riservate":
#$messaggiob= "Per convalidare la registrazione sei pregato di visitare la seguente pagina";
#$messaggioc= "[*]<a href=\"$pathreg/convalida.php\">Torna alla pagina di registrazione</a>";
#$messaggio= "$messaggioa $messaggiob $messaggioc";
#mail($emaile,$oggetto,$messaggio);
echo "La tua e-mail è stata inviata correttamente al seguente indirizzo: $emaile";
#echo "$messaggio";
$query22 = "INSERT INTO utenticertificati(utente,indirizzomail,password) VALUES ('$nick','$emaile','$passw')";
$ricerrrca= mysql_query($query22,$db);
if (mysql_query($query22,$db))
{echo "L'installazione è riuscita";}
else
{echo "Errore durante l'installazione:
" . mysql_error();}
}
}
mysql_close($db);
?>
Qualcuno mi sa spiegare la ragione?