eydybdal Skrevet 11. desember 2005 Del Skrevet 11. desember 2005 (endret) Hei, Jeg har mekka en liten side her med et nokså dårlig login script vil jeg tro, men det oppfører seg helt rart. Siden fungerer ypperlig i Firefox, man kan logge inn og få tilgang til de passordbeskytta sidene. Men, dersom du logger deg inn med Internett Explorer blir saken en helt annen. Man får logge inn, men når du endrer til en ny side så blir man logget ut igjen. Jeg forstår ikke hvorfor. Koden: <?php session_start(); include("data/mysqlsettings.php"); mysql_connect("$mysql_host","$mysql_user","$mysql_pass"); mysql_select_db("$mysql_db"); if(isset($_POST['force_logout'])) { $_SESSION['srt_user'] = false; } elseif(isset($_POST['force_login'])) { $_POST['force_command'] = "login"; $login_query = mysql_query("SELECT * FROM srt_users WHERE (name = '".$_POST['username']."')"); if(mysql_num_rows($login_query) > 0) { $login_result = mysql_fetch_array($login_query); if(md5($_POST['password']) == $login_result['password']) { $_SESSION['srt_user'] = true; setcookie("srt_user", $_POST['username']); } } } ?> if($_SESSION['srt_user'] == true) blir da selvfølgelig brukt til å sjekke om brukeren er logget inn eller ikke. Og $_COOKIE['srt_user'] inneholder informasjon om brukeren som er logget inn. Det er ikke verdens mest avanserte og sikkreste login script, men det fungerer greit nok til denne lille siden, hadde det bare fungert. Noen som har en anelse hvofor dette ikke fungerer i IE? Takker for alle svar og tilbakemeldinger. Endret 11. desember 2005 av eydybdal Lenke til kommentar
eydybdal Skrevet 11. desember 2005 Forfatter Del Skrevet 11. desember 2005 (endret) *forvirra* la merke til en feil i koden... <?php session_start(); include("data/mysqlsettings.php"); mysql_connect("$mysql_host","$mysql_user","$mysql_pass"); mysql_select_db("$mysql_db"); if(isset($_POST['force_logout'])) { $_SESSION['srt_user'] = false; } elseif(isset($_POST['force_login'])) { $login_query = mysql_query("SELECT * FROM srt_users WHERE (name = '".$_POST['username']."')"); if(mysql_num_rows($login_query) > 0) { $login_result = mysql_fetch_array($login_query); if(md5($_POST['password']) == $login_result['password']) { $_SESSION['srt_user'] = true; setcookie("srt_user", $_POST['username']); } } } ?> linja: $_POST['force_command'] = "login"; ble fjernet... jeg aner ikke hvorfor jeg har skrevet det... men uansett, det fiksa ikke problemet Endret 11. desember 2005 av eydybdal Lenke til kommentar
Scix Skrevet 11. desember 2005 Del Skrevet 11. desember 2005 Sjekker du om brukernavnet stemmer på alle sidene? Hvis du gjør det, må lagre både brukernavn og passord i en $_SESSION variabel. Du må også huske å starte session på alle sidene da Lenke til kommentar
eydybdal Skrevet 11. desember 2005 Forfatter Del Skrevet 11. desember 2005 Jeg sjekker ikke at brukernavnet nei, jeg sjekker kun at $_SESSION['srt_user'] == true, thats it... Lenke til kommentar
mikk- Skrevet 11. desember 2005 Del Skrevet 11. desember 2005 Sikker på at ikke IE henter sidene fra cachen? Altså at du har vært inne på siden før, og IE ikke mistenker at de har forandret seg nevneverdig siden sist. Lenke til kommentar
eydybdal Skrevet 11. desember 2005 Forfatter Del Skrevet 11. desember 2005 (endret) Trådnavnet er endret, det ble et dårlig trådnavn i starten. Skal huske på det neste gang jeg er sur og irritert. Jeg har sletta cachen hundrevis av ganger, og alle som prøver å logge seg inn via IE får samme problem. Jeg forstår ikke hvorfor IE ikke liker session koden. Endret 11. desember 2005 av eydybdal Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå