I miei due file adesso sono così, però mi da sempre errore al momento del login..e sicuramente c'è qualcosa di sbagliato in quello...
Registrazione:
Codice PHP:
<?php
// connessione al database
mysql_connect("localhost", "*********", "**********") or die(mysql_error());
mysql_select_db("**********") or die(mysql_error());
if (isset($_POST['submit'])) {
// controlla che non ci siano campi vuoti
if (!$_POST['nome'] | !$_POST['cognome'] | !$_POST['mail'] | !$_POST['pass'] | !$_POST['pass2'] ) {
die('<br><h1>Errore:</h1><br><h3>Non hai completato tutti i campi! Torna indietro e inserisci tutti i dati.</h3>');
}
// Controlla che la mai non sia in uso
if (!get_magic_quotes_gpc()) {
$_POST['mail'] = addslashes($_POST['mail']);
}
$mailcheck = $_POST['mail'];
$check = mysql_query("SELECT mail FROM utenti WHERE mail = '$mailcheck'")
or die(mysql_error());
$check2 = mysql_num_rows($check);
// Se la mail esiste già da errore
if ($check2 != 0) {
die('<br><h1>Errore:</h1><br><h3> La mail <b>'.$_POST['mail'].'</b> è già in uso. Prova con un altro indirizzo email.</h3>');
}
// Controlla che le due password combacino
if ($_POST['pass'] != $_POST['pass2']) {
die('<br><h1>Errore:</h1><br><h3>Le due password non combaciano. Torna indietro e ricontrolla che siano uguali.</h3>');
}
// Cripta la password
$_POST['pass'] = md5($_POST['pass']);
$_POST['pass2'] = md5($_POST['pass2']);
if (!get_magic_quotes_gpc()) {
$_POST['nome'] = addslashes($_POST['nome']);
$_POST['cognome'] = addslashes($_POST['cognome']);
$_POST['mail'] = addslashes($_POST['mail']);
$_POST['pass'] = addslashes($_POST['pass']);
$_POST['pass2'] = addslashes($_POST['pass2']);
}
// Ora lo inserisce nel database
$insert = "INSERT INTO utenti (nome, cognome, mail, pass, pass2)
VALUES ('".$_POST['nome']."', '".$_POST['cognome']."', '".$_POST['mail']."', '".$_POST['pass']."', '".$_POST['pass2']."')";
$add_member = mysql_query($insert);
?>
<br><h1>Ora sei Registrato!</h1><br><h3>Se vuoi entrare nel tuo profilo esegui il <a href="login.php">Login</a>!</h3>
<?php
}
else
{
?>
<form name="registrazione" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
QUA IL FORM DI REGISTRAZIONE
<input type="submit" name="submit" value="Registrati">
</form>
}
?>
e funziona tutto..mi inserisce i dati e le pass criptate..però nel momento del login sbaglio qualcosa e non funziona..
Login:
Codice PHP:
<?php
// Connette al database
mysql_connect("localhost", "********", "**********") or die(mysql_error());
mysql_select_db("**********") or die(mysql_error());
// Controlla se c'è il cookie per il login
if(isset($_COOKIE['ID_my_site']))
// Se c'è, mi logga e mi reindirizza alla pegina utenti
{
$_GET['mail'] = $_COOKIE['ID_my_site'];
$_GET['pass'] = $_COOKIE['Key_my_site'];
$check = mysql_query("SELECT * FROM utenti WHERE mail = '$mail'")or die(mysql_error());
while($info = mysql_fetch_array( $check ))
{
if ($pass != $info['pass'])
{
}
else
{
header("Location: membri.php");
}
}
}
// Se il form per il login va
if (isset($_POST['submit'])) {
// Controlla che i campi siano compilati
if(!$_POST['mail'] | !$_POST['pass']) {
die('<br><h1>Errore:</h1><br><h3>Non hai completato tutti i campi. Torna indietro.</h3>');
}
// Controlla nel database
if (!get_magic_quotes_gpc()) {
$_POST['mail'] = addslashes($_POST['mail']);
}
$check = mysql_query("SELECT * FROM utenti WHERE mail = '".$_POST['mail']."'")or die(mysql_error());
// Da errore se l'utente non esiste
$check2 = mysql_num_rows($check);
if ($check2 == 0) {
die('<br><h1>Errore</h1><br><h3>L\'utente non esiste. Clicca qua per <a href="registration.php">Registrarti</a>.</h3>');
}
while($info = mysql_fetch_array( $check ))
{
$_POST['pass'] = stripslashes($_POST['pass']);
$info['pass'] = stripslashes($info['pass']);
$_POST['pass'] = md5($_POST['pass']);
// Da errore se la password è errata
if (md5($_POST['pass']) != $info['pass']) {
die('<br><h1>Errore</h1><br><h3>Password errata. Torna indietro e riprova.</h3>');
}
else
{
// Se il login è ok aggiunge cookie
$_POST['mail'] = stripslashes($_POST['mail']);
$hour = time() + 3600;
setcookie(ID_my_site, $_POST['mail'], $hour);
setcookie(Key_my_site, md5($_POST['pass']), $hour);
// Reindirizza all'area utenti
header("Location: membri.php");
}
}
}
else
{
// Se sono loggati
?>
<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
QUA IL FORM DEL LOGIN
<input type="submit" name="submit" value="Entra">
</form>
<?php
}
?>
Grazie mille per l'aiuto!!!
EDIT:
Qualcunooooooooooooooooooooooooooooooooooooooooooo ooooooo