Gå til innhold

Problem med loginscript i php


Anbefalte innlegg

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 av obrestad
Lenke til kommentar
Videoannonse
Annonse

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)))

Lenke til kommentar

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 av obrestad
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...