Salve ho creato un mio sito internet per uso scolastico... fatto sta che c'è sicuramente un errore ma il mio prof mi ha detto che nn puo stare a vedere tutto il codice chi mi puo aiutare a capire perchè nn si collega al database che ho creato??
il sito è questo:
http://dechiarap.altervista.org
poi ho creato il file register.php con questo codice:
<?php
Include 'config.php'
?>
<?php
$conn = mysql_connect ("localhost", "root", "");
mysql_select_db ("utenti_temp", $conn);
if (!isset($_GET['passkey'])){
if (!isset($_POST['invia'])) { ?>
<form method="post" action="#" id="formregistrazione">
<label for="username"> Username</label>
<input type="text" name="username" id="username" /> <br>
<label for="password1"> Password</label>
<input type="password" name="password1" id="password1" /> <br>
<label for="password2">Ripeti Password</label>
<input type="password" name="password2" id="password2" /> <br>
<label for="email"> Email</label>
<input type="text" name="email" id="email" /> <br>
<input Type="submit" name="invia" id= "registrati" value="registrati"/>
</form>
<?php
} else {
$codiceconferma = md5(uniqid(rand()));
$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']);
if($username =="" || $email==""){
echo "Devi inserire tutti i dati";
} elseif($password1 =="" || $password2=="") {
echo "Devi inserire tutti i dati";
}elseif($password2 != $password1) {
echo "le password non sono uguali";
}else {
$recuperauseremail = mysql_query("SELECT id FROM utenti WHERE username='$username' OR email ='$email'");
$contausermail=mysql_num_rows ($recuperauseremail);
if ($contausermail >0) {
echo "Nome utente o e mail gia disponibili";
} else {
$inviautentitemp= mysql_query ("INSERT INTO Utenti_temp(codiceconferma,username,password,email) VALUES('$codiceconferma','$username','$password2', '$email')");
if ($inviautentitemp){
$to=$email;
$message="ecco il codice di attivazione \r\n";
$message.="clicca sul link per confermare la registrazione \r\n";
$message.="http://127.0.0.1/sito/register.php?passkey=$codiceconferma";
if (mail ($to,$message)) {
echo"Per completare la registrazione clicca sul link di attivazione della e mail che ti è arrivata";
} else { echo"Errore, link di attivazione non inviato";
}
}else {
echo "Errore sql.";
}
}
}
}
} else{
$passkey =$_GET['passkey'];
$sqlrecuperauser = "SELECT * FROM utenti_temp WHERE codice_conferma ='$passkey'";
$risultatouser = mysql_query($sqlrecuperauser);
if ($risultatouser){
$contauser =mysql_num_rows ($risultatouser);
if ($contauser ==1) {
$rows =mysql_fetch_array($risultatouser);
$username =$rows ['username'];
$username= $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 è attivo";
$sqleliminadati =mysql_query ("DELETE FROM utenti_temp WHERE codiceconferma = '$passkey'");
} else {
echo"errore";
}
}
}
}
?>
</div>
</body>
</html>
e il file login.php con ques'altro codice :
<?php
$p = ($_GET ['azione']);
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 inserire 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['username'] = $sessione['username'];
echo "login effettuato con successo";
//dopo il login ti reindirizza a index.php
header ("Refresh:2; URL= Index.php");
} else {
echo "Dati nn presenti nel database!";
}
}
}
}
elseif ($p == "logout") {
session_destroy ();
echo "logout effettuato con successo";
//dopo il login ti reindirizza a index.php
header ("Refresh:2; URL= form10.php");
}
?>
</div>
ho creato anche il database che si chiama my_dechiarap e le due tabelle che si chiamano utenti e utenti_temp.
il problema sta nel fatto che gli utanti nn ricevono l'email per iscriversi. Chi mi puo aiutare??