Ciao ragazzi, e da un po di giorni che sto impazzendo con il login, lo sto controllando punto per punto per vedere qualche errore che ho commesso ma niente non riesco a venirne a capo.Il problema è questo, ho un login di registrazione utenti che ha due campi uno per la registrazione ed uno per il login, il problema è proprio nel login, che quando voglio fare il login il campo mi compare per 2-3 secondi e fa logout da solo senza che io ho fatto niente. Volevo un parere da voi esperti quale potrebbe essere l'errore, vi posto i 5 file che compongono il login.
config.php
Codice PHP:
<?php
function connect () {
mysql_connect ("localhost.altervista","root","");
mysql_select_db("my_squadranostra");
}
?>
index.php
Codice PHP:
<?php
include 'header.php';
?>
<div id="wrapper">
<p><?php if (isset ($_SESSION ['utenti'])){
echo "ciao <strong>" .$_SESSION ['utenti']."<strong>";
} else {
echo "ciao,<a href='register.php'>registrati al sito!</a>";
} ?>
</p>
</div>
</body>
</html>
header.php
Codice PHP:
<?php
include 'config.php';
connect ();
session_start ();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-Transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="it">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-15" />
<link href="style_login.css" type="text/css" rel="stylesheet" />
<title>MyWebSite</title>
<script type="text/javascript" src="js/jquery-1.3.2js"></script>
<script type="text/javascript" src="js/jquery.validate.js"></script>
<script type="text/javascript" src="js/controlloregistrazione.js"></script>
</head>
<body>
<div id="menu">
<div class="menuwrapper">
<div class="menunav">
<ul>
<li><a href="index.php">home</a></li>
<?php if(isset ($_session['utente'])){
echo "<li><a href='login.php?azione=logout'>esci</a></li>";
} else {
echo "<li><a href='register.php'>registrati</a></li>";
echo "<li><a href='login.php?azione=login'>login</a></li>";
}
?>
</ul>
</div>
</div>
</div>
register.php
Codice PHP:
<?php
include 'header.php';
?>
<?php
if (!isset ($_GET ['passkey'])) {
if (!isset ($_POST ['invia'])) {?>
<form method="post" action="#" id="formregistrazione">
<ul>
<li><label for="username">username</label>
<input type="text" name="username" id="username" />
</li>
<li><label for="password1">password</label>
<input type="password" name="password1" id="password1" />
</li>
<li><label for="password2">ripeti password</label>
<input type="password" name="password2" id="password2" />
</li>
<li> <label for="email">email</label>
<input type="text" name="email" id="email" />
</li>
</ul>
<input type="submit" name="invia" id="registrati" value="registrati" />
</form>
<?php } else {
//creazione codice di conferma
$codice_conferma = md5(uniqid(rand()));
//valori del form
$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']);
//controlli campi vuoti e password
if ($username =="" | $email =="") {
echo "devi riempire tutti i campi";
}elseif ($password1=="" | $password2==""){
echo "devi riempire tutti i campi";
}elseif ($password2 != $password1) {
echo "le password devono coincidere";
} else {
//inserisci i dati nel db_utenti_temp
$recuperauseremail = mysql_query ("SELECT id FROM utenti WHERE 1 username '$username' OR email '$email'");
$contausermail = mysql_num_rows($recuperausermail);
} if ($contausermail > 0 ){
echo "nome utente o email gia disponibili";
}else{
//invia dati al db utenti_tem
$inviautentitemp = mysql_query ("INSERT INTO utenti_temp (codiceconferma, username, password,email) VALUES ('$codiceconferma','$username','$password2','$email')");
if ($inviautentitemp){
$to=$email;
$subject="conferma la registrazione";
$header="da:amministratore";
$message="ecco il tuo codice di attivazione\r\n";
$message="clicca sul link per confermare la registrazione\r\n";
$message="http://www.squadranostra.altervista.org/register.php?passkey=$codiceconferma";
$sendmail=mail($to,$subject,$message,$header);
}
if ($sendmail){
echo 'per completare la registrazione controla la tua casella di posta elettronica e clicca sul link di attivazione';
}else{
echo 'errore link di attivazione non inviato';
}
}
}
}
else {
$passkey = $_GET ['passkey'];
$sqlrecuperauser ="SELECT * FROM utenti_temp WHERE 1 codiceconferma = '$passkey'";
$risultatouser = mysql_query($sqlrecuperauser);
if ($risultatouser); {
$contauser = mysql_num_rows ($contauser);
if ( $contauser == 1) {
$rows = mysql_fetch_array ($risultatouser);
$username = $rows ['username'];
$email = $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 è stato attivato con successo";
$sqleliminadati = mysql_query ("DELETE FROM utenti_temp WHERE 1 codiceconferma = '$passkey'");
} else {
echo "errore";
}
}
}
}
?>
<div id="wrapper">
</div>
</body>
</html>
login.php
Codice PHP:
<?php
include 'header.php';
?>
<div id="wrapper">
<?php
$p =$_GET['azione'];
//login.php? azione=login
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 compilare i campi";
} else {
$password_cript = md5 ($password);
$recuperadati = mysql_query("SELECT * FROM utenti WHERE 1 username = '$username' AND password = '$password_cript'");
$verificadati = mysql_num_rows($recuperadati);
if ($verificadati == 1) {
$sessione =mysql_fetch_array($recuperadati);
$_SESSION ['utente'] = $sessione ['username'];
echo "login effettuato con successo";
header("refresh : 2; URL=index.php");
} else {
echo "dati non presenti nel database";
}
}
}
//login.php? azione=logout
($p =="logout");
session_destroy ();
echo "logout effettuato con successo";
header("refresh: 2; URL=index.php");
}
?>
</div>
</body>
</html>