Ciao a tutti...
...ho questo codice (basato su cookie) per far accedere più utenti con user e pass diversi, nella stessa area:
Codice PHP:
<?php
$array1 = array("xxx", "xxx");
$array2 = array("000", "000");
$pagina_amministrazione = "reserved.php";
if ($_POST[login_module]) {
if ((!$_POST[user]) || (!$_POST[pass])) {
die("<center><b>Campi non compilati</b> - <a href='login.php'>Torna Indietro</a></center>");
} else if ((in_array($_POST[user], $array1) && in_array($_POST[pass], $array1)) || (in_array($_POST[user], $array2) && in_array($_POST[pass], $array2))) {
$_SESSION[login] = "true";
$_SESSION[username] = $_POST[user];
header("Location: $pagina_amministrazione");
} else {
die("<center><b>Accesso Negato!</b> - <a href='login.php'>Torna Indietro</a></center>");
}
} else if ($_POST[login_module] == "" || !$_POST[login_module]) {
echo("<b>Effettua il login per accedere all'area utenti!</b><br>");
echo("<center><form name=\"login\" method=\"POST\" action=\"\">");
echo("<table align=\"center\" border=\"0\">");
echo("<tr><td><b>Username:</b></td><td><input type=\"text\" name=\"user\"></td></tr>");
echo("<tr><td><b>Password:</b></td><td><input type=\"password\" name=\"pass\"> <input type=\"submit\" name=\"login_module\" value=\"Login\"></td></tr></table></center>");
}
?>
nella pagina reserved.php (la pagina riservata, appunto) metto questo codice (prima di ogni altra cosa) che serve a bloccare le persone che non hanno fatto (o non fanno) il login:
Codice PHP:
<?php
session_start();
if ((isset($_GET['do'])) && ($_GET['do'] == "logout")) {
$_SESSION = array();
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time()-42000, '/');
}
session_destroy();
}
if ((!isset($_SESSION[login])) || (!isset($_SESSION[username]))) {
header("Location: login.php");
}
echo("<p align='right'><b>Benvenuto <u>".$_SESSION[username]."</u> nell'area utenti!</b></p>");
?>
Il problema sta, che questo caspio di codice (anche dopo aver fatto il login correttamente), mi rimanda sempre a login.php... Cosa c'è di errato?!?
...grazie in anticipo!
...byex!