Ciao a tutti.
Ho cominciato da pochissimo a programmare in php, quindi ho bisogno di una mano da parte vostra.
Come prima "applicazione" sto provando a fornire il mio sito di un sistema di login delgi utenti.
so che ci sono pillole a riguardo e script gia fatti, ma dato che sono alle prima armi e sto imparando vorrei cercare di capire cosa sbaglio.
Allora:
ho creato un modulo di registrazione al sito tramite il quale inserisco le informazioni nel db.
Poi mando la mial di attivazione, attivo l'account e va tutto bene.
quando poi effettuo il login, inserisco user e pass ma comunuqe mi indirizza alla pagina prevista per gli utenti non loggati, e non riesco a capire come mai!
vi posto un po di codice:
Questo è il programma che prende in ingresso i dati forniti nel form del log in
<?
/* Script controllo utenti*/
session_start(); // inizia sessione
include 'db.php';
// Converto a variabili semplici
$username = $_POST['username'];
$password = $_POST['password'];
if((!$username) || (!$password)){
echo "Per favore inserisci Username e Password!
";
include 'index.htm';
exit();
}
// Converte la password in md5 hash
$password = md5($password);
// conotrolla se l'utente è presente nel db
$sql = mysql_query("SELECT * FROM utenti WHERE User='$username' AND password='$password' AND attivato='1'");
$login_check = mysql_num_rows($sql);
if($login_check > 0){
while($row = mysql_fetch_array($sql)){ //Questa parte qui l'ho presa da uno script gia
//fatto e non ne capisco il significato
foreach( $row AS $key => $val ){
$$key = stripslashes( $val );
}
// registriamo alcune variabili di sessione!
session_register('nome');
$_SESSION['nome'] = $nome;
session_register('cognome');
$_SESSION['cognome'] = $cognome;
session_register('indirizzo_email');
$_SESSION['indirizzo_email'] = $indirizzo_email;
header("Location: $sitepath/sample.php");
}
} else {
echo "Errore!Username e Password inserite non valide!
Perfavore riprova!
";
include 'index.html';
}
?>
Quando inserisco user e pass esatte mi va alla pagnia di esempio che è questa:
<?
session_start();
if ( empty( $nome ) ) {
?> Ciao ospite, puoi effettuare il Login qui, oppure puoi registrarti <a href="http:xxx">qui
</a>
<?
} else { include 'db.php'; echo "Bentornato,
". $_SESSION['nome'] ."";
?>
Logout
<? } ?>
e mi dice appunto: Ciao ospite, puoi effettuare il Login... etc etc..
Dov'è il problema?![]()