Ho un problema che mi sta facendo diventare pazzo...
ho un semplice sistema di login, parte da una pagina html con un form, per spedire via Post 3 variabili, nome cognome e password, a una pagina che si occupa di verificarli...
la cosa curiosa, è che il mio script di autenticazione non produce risultati, nessun messaggio di errore, nessun output, nulla, è come fosse vuota...
Ho provato a mettere diversi echo in punti diversi della pagina... qualunque echo messo dopo la dichiarazione delle prime 4 variabili viene completamente ignorato, per non parlare del codice che segue.
E' una cosa molto strana, perche errori di sintassi nell'assegnazione credo di non averne fatti, e in caso li avessi fatti, dovrei ricevere qualche errore, mentre non vedo nulla, i due include a loro volta, in caso di fallimento visualizzano un messaggio di errore, che però non si presenta.
è come se si interrompesse di sua spontanea volonta
Vi posto il codice... magari c'è un errore banale che io per quanto mi sforzi non riesco a vedere... a me pare tutto a posto...
Pagina di invio variabili:
http://dharlet.altervista.org/metso/login.html
Pagina di autenticazioneCodice:<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Login</title> <link rel="stylesheet" type="text/css" href="stile.css"/> <style type="text/css"> <!-- div#middleDiv {padding:0;} div#middleDiv table {width:100%; } div#middleDiv table thead tr td{background-color:#7554ac; text-align:center; font-weight:bold;} div#middleDiv table {text-align:left;} div#middleDiv table tr td.first {width:200px; text-align:right;} div#middleDiv table tr td.second {width:300px;} div#middleDiv table tr td#tdEntra {text-align:center;} --> </style> </head> <body> <div id="middleDiv"> <form method="post" action="autenticazione.php"> <table cellpadding="4px" cellspacing="0"> <thead> <tr> <td colspan ="2">Login</td> </tr> </thead> <tr> <td class="first">Nome:</td> <td class="second"><input type="text" name="nome" size="25" maxlength="50"/></td> </tr> <tr> <td class="first">Cognome:</td> <td class="second"><input type="text" name="cognome" size="25" maxlength="50"/></td> </tr> <tr> <td class="first">Password:</td> <td class="second"><input type="password" name="password" size="25" maxlength="50"/></td> </tr> <tr> <td colspan="2" id="tdEntra" ><input type="submit" value="Entra"/></td> </tr> </table> </form> </div> </body> </html>
http://dharlet.altervista.org/metso/autenticazione.php
la riga echo "---"; l'ho messa come prova, e se provate a controllare, non la visualizza. Vi è mai capitato? :SCodice PHP:<?php
if(!@include('include/config.php'))
die('Inclusione dati Mysql fallita.');
if(!@include('include/fx_var.php'))
die('Inclusione dati Funzioni fallita.');
$regolare = true;
$nome = trim($_POST['nome']);
$cognome = trim($_POST['cognome']);
$password = $_POST['password'];
echo "---";
if(eregi("[a-z\ ']+",$nome))
{
$nome = filtra($nome);
$nome_query = filtra($nome,true);
}
else
$regolare = false;
if(eregi("[a-z\ ']+",$cognome))
{
$cognome = filtra($cognome);
$cognome_query = filtra($cognome,true);
}
else
$regolare = false;
if(!eregi("[a-z0-9]+",$password))
$regolare = false;
else
$password = md5($password);
if(!$regolare)
{
header("location:login.html");
exit;
}
//inizio una nuova sessione
session_start();
//Connessione al database
$connessione = @mysql_connect($db_host,$db_user,$db_password);
if($connessione)
{
if(@mysql_select_db($db_database, $connessione))
{
$query_string = "SELECT amministratore FROM $db_tabella WHERE nome='$nome_query' AND cognome='$cognome_query' AND password='$password'";
$risultato = @mysql_query("SELECT * FROM $db_tabella", $connessione);
if($risultato)
{
if($row = @mysql_fetch_array($risultato))
{
$successo = true;
if($row['amministratore'])
$admin = true;
else
$admin = false;
} else
{
$successo = false;
$err = "I Dati inseriti Non corrispondono a nessun utente.";
}
} else
{
$successo = false;
$err = "Impossibile effettuare la query. Verificare che il database sia accessibile.";
}
} else
{
$successo = false;
$err = "Impossibile selezionare Il database necessario. Verificare la coerenza del nome con il file di configurazione.";
}
} else
{
$successo = false;
$err = "Impossibile stabilire una connessione con il database Mysql. Verificare correttezza dei dati di configurazione";
}
//se la connessione non è avvenuta perchè si è verificato un errore, lo stampo a video,altrimenti,indirizzo alla pagina privata
if($successo)
{
$_SESSION['nome'] = $nome;
$_SESSION['cognome'] = $cognome;
$_SESSION['autenticato'] = true;
$_SESSION['amministratore']= $admin;
$_SESSION['data_login'] = time();
//la sessione ora contiene tutti i dati del login, tranne password
header("location: pannello.php");
exit;
} else
{
?>
<html>
<head>
<title>Errore</title>
<link rel="stylesheet" type="text/css" href="include/stile.css"/>
</head>
<body>
<div id="middleDiv">
<h3>Si è verificato un errore.</h3>
<p><?php echo "$err"; ?></p>
</div>
</body>
</html>
<?php
}
?>

LinkBack URL
About LinkBacks

