-
redirect dopo login
ciao a tutti
ho un piccolo problema con un script che sto provando ovvero un login per un area riservata
funziona tutto bene tranne che quando ci si logga non mi dirotta sulla pagina protetta ma devo scriverla io manualmente sul browser.
nell'action del form sostituisco la stringa php_self con il link della mia pagina protetta ma non mi fa accedere nonostante la stessa password
se lascio per l'appunto la stringa php_self funziona ma non ho il redirect
ecco il codice:
Codice PHP:
<?
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Login</title>
</head>
<body>
<?
function check($user,$password){
include("utenti.php");
foreach($utenti as $user_ => $password_){
if (($user==$user_) AND ($password==$password_)) {
return true;
}
}
return false;
}
function form_login(){
?>
<form id="login" action="<?=$PHP_SELF?>" method="post">
<div style="text-align:center;margin-left:auto;margin-right:auto;">
Utente:<br>
<input type="text" name="utente" size="20" maxlength="255"><br>
Password:<br>
<input type="password" name="password" size="20" maxlength="255"><br><br>
<input type="submit" value=" OK ">
</div>
</form>
<? }
if(isset($_POST["utente"])){
if (check($_POST["utente"],$_POST["password"])){
$_SESSION["utente"] = $_POST["utente"];
$_SESSION["password"] = $_POST["password"];
echo "ora sei loggato!";
}else{
form_login();
}
}else{
form_login();
}
?>
</body>
</html>
ho provato anche a inserire un refresh nel meta tag ma con il risultato che mi fa accedere alla pagina protetta anche se non digito la password, pazzesco!
-
Prova a lasciare il campo vuoto
-
nada de nada.
il problema persiste, effettuo il login ma non mi dirotta alla pagina protetta
-
Modifica questo:
Codice PHP:
if(isset($_POST["utente"])){
if (check($_POST["utente"],$_POST["password"])){
$_SESSION["utente"] = $_POST["utente"];
$_SESSION["password"] = $_POST["password"];
echo "ora sei loggato!";
}else{
form_login();
}
}else{
form_login();
}
con questo:
Codice PHP:
if(isset($_POST["utente"])){
if (check($_POST["utente"],$_POST["password"])){
$_SESSION["utente"] = $_POST["utente"];
$_SESSION["password"] = $_POST["password"];
echo "ora sei loggato!";
header("Location: tuapagina.php"); // modifica con l'url della pagina protetta
}else{
form_login();
}
}else{
form_login();
}
-
FUNZIONA!!!
ecco cosa mi mancava, l'header; io provavo con a href
spero che non mi faccia i soliti scherzetti che dopo un po' non funziona più
Grazie davvero di cuore:razz: