Salve, da stamattina cerco di venire a capo di un problema che, rispetto ad altre procedure, sembra semplice, ma che mi sta bloccando.
Ho questo form di autenticazione, pagina form_accesso.php
e questa pagina che riceve i dati, login.phpCodice PHP:<form id="form1" name="form1" method="post" action="login.php">
<p><strong>Accesso utenti</strong></p> <p>Username <input type="text" name="username" id="username" /></p> <p>Password <input type="password" name="password" id="password" /></p> <?php if(isset($_GET["cod"])) { $codice=$_GET["cod"]; if($codice=="1") { echo "<font color='#FF0000'>Username o password errati"; } if($codice=="2") { echo "<font color='#FF0000'>Arrivederci!</font>"; } if($codice=="3") { echo "<font color='#FF0000'>Non fare il furbo! Devi prima loggarti!</font>"; } } ?> <p><input type="submit" name="button" id="button" value="Login" /></p></form>
Succede che, sebbene nella tabella utenti sia presente il record cercato col SELECT, e attivo sia = 1, l'if finale mi ricarica form_accesso.php con cod = 1.Codice PHP:<?php
$user = isset($_POST['username']) ? htmlspecialchars($_POST['username']) : ''; if (isset($user)) { $username=$user; } else { $username=""; }
$pass = isset($_POST['password']) ? htmlspecialchars($_POST['password']) : ''; if (strpos($pass, '%') !== false) { header("location: http://gaspare.altervista.org/accesso.php?cod=4"); } else if(isset($pass)) { $password=$pass; } else { $password=""; }
session_start();
$db_username = '*****'; $db_password = '*****'; $db_host = '*****'; $db_name = 'my_*****';
$link = mysqli_connect("$db_host", "$db_username", "$db_password", "$db_name") or die("Errore connessione");
if (mysqli_connect_errno()) { echo "Errore apertura database"; }
$sql="SELECT * FROM utenti WHERE username='$username' AND password='$password' AND attivo=1";
$miorecord=mysqli_query($sql);
$count=mysqli_num_rows($miorecord);
if($count==1) { while ($riga = mysqli_fetch_array($miorecord)) { $_SESSION['username']= $riga['username']; $_SESSION['loggato']= "si"; header("location: http://*****/gestione.php"); } } else { header("location: http://*****/form_accesso.php?cod=1"); }?>
Non capisco dove sia l'errore, dato che un login.php, privo di campo attivo, funziona perfettamente in un altro sito, anche con codifica md5 della password.

 
			
			 
					
					
					
						 Rispondi quotando
  Rispondi quotando Originariamente inviata da Alhazred
 Originariamente inviata da Alhazred
					
 
						 , ed è un problema che va avanti da tempo... Non il massimo per un forum che si occupa proprio di assistenza informatica...
, ed è un problema che va avanti da tempo... Non il massimo per un forum che si occupa proprio di assistenza informatica...  
						