初めてログインしようとすると、index.php へのリダイレクト中に $_SESSION['not'] と $_SESSION['utente'] が失われます。ログインには次のフォームを使用しています。
<form id="login" class="text" action="login.php" style="top:8px;" method="post">
<input name="usermail" type="text" class="email" style="text-transform:lowercase;width:130px;color:#9a9a9a" value="Indirizzo e-mail" onfocus="this.style.color='#666';if(this.value=='Indirizzo e-mail')this.value='';" onblur="if(this.value==''){this.style.color='#9a9a9a';this.value='Indirizzo e-mail'}">
<button style="float:right;height:65px;margin:1px 0px 0px 5px;" type="submit" value="Accedi"><i class="icon-login"></i><br><font class="font_mini">Accedi</font></button><br>
<input name="pass" type="password" class="password" autocomplete="off" style="width:130px;color:#9a9a9a" value="Password" onfocus="this.style.color='#666';if(this.value=='Password')this.value='';" onblur="if(this.value==''){this.style.color='#9a9a9a';this.value='Password'}"/>
<br><a href="?page=recupero"><font class="font_mini">Credenziali dimenticate?</font></a></form>
login.php:
<?
session_start();
$ip=$_SERVER[REMOTE_ADDR];
$user=strtolower($_POST['usermail']);
$pw=htmlspecialchars($_POST['pass'], ENT_QUOTES);
$userfile="utenti/email/".$user.".php";
if(file_exists($userfile))
{
include($userfile);
if($pw==$p)
{
$_SESSION["utente"]=$user;
$ref="statistiche";
if(file_exists("utenti/visita/".$user))
{
$notifica=6;include "notifiche.php";exit;
}
else
{
include "media.php";
include_once "changevar.php";
changevar("c",$c+$media,$userfile,0);
$ipfile="utenti/IP/".$user.".php";
if(file_exists($ipfile))
{
include $ipfile;
if(!in_array($ip,$IParray))
{
$fp=fopen($ipfile,"r");
$content=fread($fp,filesize($ipfile));
fclose($fp);
$content=str_replace(")",",'".$ip."')",$content);
$fp=fopen($ipfile,"w");
fwrite($fp,$content);
fclose($fp);
}
}
else
{
$fp=fopen($ipfile,"w");
fwrite($fp,"<?$"."IParray=array('".$ip."');?>");
fclose($fp);
}
$filename="utenti/statistiche/".$user.".php";
include $filename;
changevar("creditiguadagnati",$creditiguadagnati+$media,$filename,1);
$fp=fopen("utenti/visita/".$user, "w");
fclose($fp);
$notifica=7;include "notifiche.php";exit;
}
}
else
{
$_SESSION['username']=$user;
$notifica=12;include "notifiche.php";exit;
}
}
else
{
if(isset($_POST['usermail'])&&isset($_GET['a']))
{
$notifica=4;include "notifiche.php";exit;
}
else
{
header("location:index.php?page=errore");
}
}
?>
notifiche.php:
@session_start();
if(!isset($testo)&&isset($notifica))
{
switch($notifica)
{
case 0:$testo="0§La tua registrazione è avvenuta con successo!§Conferma l'e-mail che ti è stata inviata all'indirizzo di posta elettronica '$email' per poter effettuare il primo accesso.<br>Accertarti che l'email di conferma non sia finita erroneamente nella cartella dello spam/junk";break;
case 1:$testo="1§Attenzione§Questo indirizzo e-mail risulta essere già registrato!";break;
case 2:$testo="0§Congratulazioni!§La tua registrazione è avvenuta con successo!";break;
case 3:$testo="0§Biglietto acquistato!§Congratulazioni, hai appena acquistato il biglietto per poter partecipare all'estrazione numero ".($num+1).". Verifica la tua vincita in data $data sulla presente pagina";break;
case 4:$testo="1§Attenzione§Questo indirizzo e-mail non risulta essere registrato!";break;
case 5:$testo="1§Crediti insufficienti§Non hai abbastanza crediti per effettuare questa operazione";break;
case 6:$testo="0§Login riuscito!§Hai appena effettuato l'accesso con il profilo ".$_SESSION['utente'];break;
case 7:$testo="0§Login riuscito!§Hai appena ricevuto ".$media." crediti per aver effettuato l'accesso giornaliero";break;
//case 8:$testo="§§";break;
case 9:$testo="0§Account eliminato§Il tuo profilo è stato cancellato correttamente, ti ringraziamo per aver utilizzato MEGADV";break;
case 10:$testo="1§Cancellazione fallita§La password immessa non è corretta";break;
//case 11:$testo="§§";break;
case 12:$testo="1§Errore§La password inserita non è valida!";break;
case 13:$testo="0§Recupero password riuscito§La tua password è stata correttamente inviata all'indirizzo da te fornitoci";break;
case 14:$testo="1§Estensione dell'icona non valida§L'icona scelta ha un'estensione diversa da png, gif, jpeg o bmp";break;
case 15:$testo="1§Impossibile caricare l'icona§Si è verificato un errore durante l'upload dell'icona, riprova.<br>Se il problema persiste contatta l'amministratore";break;
//case 16:$testo="§§";break;
case 17:$testo="1§Attenzione§La password indicata non coincide con quella inserita nel campo di conferma password";break;
case 18:$testo="1§Attenzione§Per proseguire è necessario compilare il campo password";break;
case 19:$testo="1§Attenzione§Vecchia password errata, impossibile salvare le modifiche effettuate";break;
case 20:$testo="0§Congratulazioni!§Hai appena confermato la modifica del tuo indirizzo e-mail";break;
case 21:$testo="1§Attenzione§Il tuo indirizzo e-mail è stato modificato o l'account è stato cancellato da un altro computer";break;
case 22:$testo="1§Attenzione§Il titolo non può essere uguale alla descrizione";break;
case 23:$testo="1§Attenzione§La password deve essere almeno di 6 caratteri";break;
}
}
$_SESSION['not']=$testo;
if(isset($ref))
{
$ref="?page=".$ref;
}
else
{
$ref='';
}
@header("location: http://www.megadv.it".$ref);
echo "<script>document.location.href='http://www.megadv.it".$ref."';</script>";exit;
私はすべてを試しましたが、何もうまくいきません...