si infatti... hai ragione tu.
C'è una cosa che non riesco a capire:
Se ho due utenti che si connettono allo stesso momento alla mia area privata con userid e
password diversi chi arriva dopo ovvero il secondo, perchè mettiamo che non siano sincronizzati
proprio nello stesso momento, trovera gia la sessione aperta e potrà accedere senza digitare
userid e password... vi faccio un esempio di script:
Codice PHP:
<?
$webroot ="http://miosito.it/areapvt/";
$toppage="top.ihtml";
session_start();
if(!isset($auth)){ // Se non è stata precedentemente aperta nessuna sessione e $auth non esiste
$auth=array();
session_register("auth"); // registra $auth
}
if($page == "logout"){ // se $page=logout ovvero l'utente si è disconnesso
$auth['userid']=""; // cancella $userid
$auth['login']=""; // cancella $login
header("Location: $webroot"); // vai a $webroot
}
if($auth['login']){ // Se invece l'utente è login
$homepage=$login;
if(!$page){ // Se non esiste $page imposta la pagina iniziale
$homepage=$toppage;
}else{ // altrimenti sarà page.ihtml
$homepage="$page".".ihtml";
}
require("$homepage"); // include la pagina impostata
}else{ // Se invece l'utente non risulta login
$homepage=$login;
session_start();
if($check){ // Se è stato inviato il form $check è =1
if(!$userid){ // Segnala se non è stato inserito l'userid
$erry="nessun userid";
print "<center>$erry</center>";
}else{ // Se invece è stato inserito
$fp = fopen("user.txt","r");
while($userinfo = fscanf($fp,"%s\t%s\t%si\n")){ // legge il file degli utenti
list($id,$name,$pass)=$userinfo;
if($name == $userid && $pass == $password){ // controlla che userid e password corrispondono
$auth['userid']=$userid; // imposta $auth->userid
$auth['login']=1; // dice che l'userid è connesso
session_register("auth");
header("Location: $webroot"); // va a webroot
}
}
}
}
include("login.ihtml"); // se non va a webroot includerà login.ihtml
}
?>
Ho testato che il secondo utente arriva nell'area privata e non trova il form da compilare, ma si trova gia connesso...
com'è possibile evitarlo??? Premetto che questa volta non voglio usare i cookies.
Sto imparando scusatemi... le sessioni non sono il mio forte. :bubu: