Ciao ho sviluppato questo semplice sistema di login:
qst è la pagina index dove c'è il campo password e il campo nickname:
<?php
echo "<html>\n";
echo "<head>\n";
echo "<meta http-equiv=\"Content-Language\" content=\"it\">\n";
echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\">\n";
echo "<title>TheHensemberger.org</title>\n";
echo "</head>\n";
echo "<body>\n";
echo "<body bgcolor=\"black\">\n";
echo "<center>\n";
echo "<img src=\"logo/logo.png\" width=\"650\" height=\"204\">\n";
echo "</center>\n";
echo "<center><div>_</div></center>\n";
echo "<center><div>_</div></center>\n";
echo "<center><div>_</div></center>\n";
echo "<center>\n";
echo "<font color=\"#3399FF\" size=\"6\" face=\"times new roman\">\n";
echo "Login\n";
echo "</font>\n";
echo "</center>\n";
echo "<form method=\"post\" action=\"login.php\">\n";
echo "<font color=\"white\">\n";
echo "<center><div>Nick-Name:</div><input type=\"text\" name=\"nick\" /></center>\n";
echo "<center><div>Password:</div></font><input type=\"password\" name=\"pass\" /></center>\n";
echo "<center>\n";
echo "<div><input type=\"submit\" name=\"login\" value=\"Accedi\" /></div>\n";
echo "</form>\n";
echo "<a href=\"registrazione.htm\"><center><img src=\"logo/bottoneregistrati.png\"></center></a>\n";
echo "<center><a href=\"passworddimenticata.htm\">Password dimenticata.</a></center>\n";
echo "</form>\n";
echo "\n";
?>
QST P LA PAGINA login.php:
<?php
function controlla_presenza($nick){
$file = file("utenti.php");
foreach($file as $rigo) {
$ex = explode("|",$rigo);
if($ex[1] == $nick) {
return "presente";
}
}
}
function nick_pass_ok($nick,$pass) {
$pass = ($pass);
$file = file("utenti.php");
foreach($file as $rigo) {
$ex = explode("|",$rigo);
if($ex[1] == $nick && $ex[2] == $pass) { return "ok"; }
}
}
$nick = $_POST['nome'];
$nick = str_replace("|","",$nick);
$nick = str_replace("\\","",$nick);
$vpass = $_POST['pass'];
$vpass = str_replace("|","",$vpass);
$vpass = str_replace("\\","",$vpass);
$pass = ($vpass);
$nome = $_POST['nome'];
$nome = str_replace("|","",$nome);
$nome = str_replace("\\","",$nome);
$cognome = $_POST['cognome'];
$cognome = str_replace("|","",$cognome);
$cognome = str_replace("\\","",$cognome);
$mail = $_POST['mail'];
$mail = str_replace("|","",$mail);
$mail = str_replace("\\","",$mail);
if($_POST['registrati'] || $_POST['login']){
if(trim($nick) == "" || trim($pass) == "") {
header("Location:index.htm");
}
}
if($_POST['registrati']) {
$check = controlla_presenza($nick);
if($check == "presente") { echo "Questo utente già presente!"; echo " Torna Indietro"; exit(); }
$fp = fopen("utenti.php","a+");
fwrite($fp,"<?|".$nome."|".$cognome."|".$mail."|". $nick."|".$pass."|\n");
fclose($fp);
echo "I tuoi dati di accesso sono NickName: $nick Password: $vpass.";
echo " Torna alla pagina del login. ";
}else if($_POST['login']) {
$contr = nick_pass_ok($nick,$pass);
if($contr == "ok"); { echo "$nick sei loggato!";
echo "Visualizza l'area riservata!";}
}else{
echo "Nickname o password errati!";
echo " Torna Indietro ";
}
?>
E INFINE QST é LA PAGINA utenti.php:
if(trim($nick) == "" || trim($pass) == "") {
header("Location:registrazione.htm");
}
Il mio problema è ke qnd mi iscrivo è tutto apposto ma qnd vado a effettuare il login sia se nick name e password sono giusti sia se sono errati mi fa sempre tornare alla pagina index.php solo che non riesco a capire dov' è l' errore mi potreste aiutare???![]()