Ciao, ho creato un sito e do' la possibilità agli utenti di loggarsi per accedere ad alcune funzioni extra ma la funzione di login automatico che in locale
funziona perfettamente su Altervista non va'
Questo è il codice della pagina login.php
codice:
#LOGIN
#RECUPERO DATI
$User = $_POST["User"];
$Pwd = $_POST["Pwd"];
#LOGIN AUTOMATICO
if (isset($_POST["Auto"])){
$Auto = 1;
}
#CONTROLLO CAMPI VUOTI
if ($User == "" | $Pwd == "") {
redirect("home.php?err=empty",0);
}
#CONTROLLO USERNAME
#INCLUSIONE CONNESSIONE
include ("../include/connessione_db.php");
#ESTRAGGO IL RECORD RELATIVO ALL'USERNAME
$sql = "SELECT Pwd, Ruolo FROM comuc_utenti WHERE User ='$User';";
$rs = mysql_db_query($database,$sql);
$recordcount = mysql_num_rows($rs);
if ($recordcount == 1) {
$PwdDatabase = mysql_result($rs,0,"Pwd");
if ($PwdDatabase == $Pwd) {
session_start();
$_SESSION["User"] = $User;
$_SESSION["Ruolo"] = mysql_result($rs,0,"Ruolo");
#LOGIN AUTOMATICO
if ($Auto == 1) {
$Scadenza = time() + 31536000;
setcookie("User",$User,$Scadenza);
setcookie("Ruolo",mysql_result($rs,0,"Ruolo"),$Scadenza);
}
#AGGIORNA ULTIMO ACCESSO
$sql = "update comuc_utenti SET UltimoAccesso = Now() WHERE User='$User';";
$rs = mysql_db_query($database,$sql);
redirect("home.php",0);
}
else {
redirect("home.php?err=pwd",0);
}
}
else {
redirect("home.php?err=user",0);
}
mysql_close($cn);
#FUNZIONE PER IL REDIRECT
function redirect($url,$timeout=0)
{
echo "\n<script language=\"javascript\">\n";
if($timeout == 0)
{
echo " window.location=\"$url\";\n";
}
else
{
echo "string=\"\", timeout = ".($timeout*10).";\n";
echo "function dorefresh() {\n";
echo " window.status=\"\"+string;";
echo " string = string + \" \";";
echo " timerID = setTimeout(\"dorefresh();\", 100);\n";
echo " if (timeout > 0) {";
echo " timeout -= 1;\n";
echo " } else {\n";
echo " clearTimeout(timerID);\n";
echo " window.status=\"\";\n";
echo " window.location=\"$url\";\n";
echo " }\n";
echo "}\n";
echo "dorefresh();";
}
echo "\n</script>\n";
}
Per verificare se un utente è loggato utilizzo questo codice:
codice:
session_start();
if (isset($_SESSION["User"]) && isset($_SESSION["Ruolo"])) {
$User = $_SESSION["User"];
$Ruolo = $_SESSION["Ruolo"];
}
if (isset($User) == false) {
if (isset($_COOKIE["User"]) && isset($_COOKIE["Ruolo"])) {
$User = $_COOKIE["User"];
$Ruolo = $_COOKIE["Ruolo"];
$_SESSION["User"] = $User;
$_SESSION["Ruolo"] = $Ruolo;
}
}
In più nonostante tutti gli utenti riescano a loggarsi perfettamente un solo utente si è lamentato perchè dice che non riesce a loggarsi in quanto
quando sull'homepage preme il tasto Login la pagina viene ricaricata tale e quale senza messaggi di errore...
Io ho provato a fare il login con i suoi dati e tutto funziona perfettamente da che cosa può dipendere?
premetto che questo utente utilizza Win 98 SE, browser IE e connessione Alice Flat e dice inoltre che con altri siti non ha alcun tipo di problema...
Gli ho già anche detto di abbassare la protezione "Privacy" di IE ma senza ottenere alcun risultato anche con il settaggio impostato a "Protezione
nulla"!
Ciao e grazie a tutti!