ZeRKoX Skrevet 2. juli 2007 Skrevet 2. juli 2007 (endret) Hallo. Jeg lager en side, og har problem med et påloggings-script. Det som er problemet, er at det virker som om det lever sitt eget liv. Av og til virker det, og av og til ikke. Kan noen se hva som er feil? Her er koden: login.php: <?php /*** KONFIGURASJON ***/ $URLToAdminPage = "login.php"; $Username = "*****"; $EncryptedPassword = "********************************"; session_start(); if ($_SESSION['LoggedIn']) $LoggedIn=true; else $LoggedIn=false; /* INNLOGGING */ if ($_GET['action']=="login") { $user = $_POST['user']; $pass = $_POST['pass']; if ($user == $Username && md5($pass) == $EncryptedPassword) { $_SESSION['LoggedIn'] = true; header("Location: $URLToAdminPage"); } else header("Location: $URLToAdminPage?msg=error"); } /* UTLOGGING */ if ($_GET['action']=="logout") { $_SESSION['LoggedIn'] = false; header("Location: $URLToAdminPage?msg=loggedout"); } ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Eigil's Rotekasse</title> <link href="style.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="container"> <div id="header"><h1>Obrestad's Rotekasse</h1></div> <div id="sub_header">Logg på/av</div> <div id="main_content_top"></div> <div id="main_content"> <div class="content"> <center> <h2>Tilgangskontroll</h2> <?php /* LOGINFORM */ if ($LoggedIn) echo "<p>Du er for øyeblikket logget inn.</p>\n<p><a href=\"login.php?action=logout\">Logg ut!</a></p>"; else { ?> <form action="login.php?action=login" method="post"> Brukernavn:<br> <input name="user" type="text" size="$InputSize"><br> Passord:<br> <input name="pass" type="password" size="$InputSize"><br> <input type="submit" value="Login"> </table> </form> <p>Du må logge inn!</p> <?php if ($_GET['msg']=="error") echo "<p style=\"color:red\"><b>Feil brukernavn eller passord!</b></p>\n"; if ($_GET['msg']=="loggedout") echo "<p style=\"color:red\"><b>Du er nå logget ut!</b></p>\n"; } ?> </center> </div> <div class="menu"> <?php include("index-menu.php"); ?> </div> <div id="clear"></div> </div> <div id="main_content_bottom"> </div> <div id="footer"> <strong>Copyright © Obrestad 2007</strong> </div> </body> </html> og index-menu.php: <?php include("index-menu-menu.php"); include("index-menu-link.php"); if ($LoggedIn) include("index-menu-safe.php"); else{} ?> Endret 5. juli 2007 av obrestad
EirikO Skrevet 3. juli 2007 Skrevet 3. juli 2007 Har ikke prøvd å kjøre programmet, men kan se ut som du roter litt med $_SESSION['LoggedIn'] og variabelen $LoggedIn. Skjønner ikke helt hva du skal med variabelen $LoggedIn.. Bedre å bare sjekke mot sessionet hele tiden. Og sjekk gjerne om det har en spesiell verdi, ikke bare true/false. (Sett f.eks. sessionet til å være lik passordet, så sletter du hele sessionet når du logger ut (destroy() (tror jeg)))
Ståle Skrevet 3. juli 2007 Skrevet 3. juli 2007 session_destroy ja Provde scriptet jeg ogsa, sa ikke noe umiddelbare feil.
ZeRKoX Skrevet 5. juli 2007 Forfatter Skrevet 5. juli 2007 (endret) Jeg har ikke fått fikse det alikevel.... Hva er det akuratt jeg bør forandre på? Jeg er ikke så veldig flink i php, så jeg er ikke sikker på om jeg forstår det dere sa alikevel... Endret 5. juli 2007 av obrestad
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å