Hej, nu har jag snart suttit hela kvällen, och snart blir jag knäpp på mitt session login skript.
Just nu i databasen har jag 2 användare, anger jag deras uppgifter i formuläret, så händer absolut inget, inget fel, den visar bara återigen formuläret. Skriver jag in fel lösen/användarnamn så får jag felmed. att lösen/användarnamn är fel försök igen, så det verkar fungera så långt :)
är det någon vänlig själ som kan tänka sig att titta igenom mitt skript? Det är säkert bara något litet fel...
Filen - admin_session.php
<?php
session_start();
// ------------------------------------------------------
// Databasanslutningen
// ------------------------------------------------------
include "conn.php";
// ------------------------------------------------------
// Inloggning
// Om användaren har tryckt på "submit" så kollar vi om
// han/hon finns i databasen
// ------------------------------------------------------
//if (isset($_POST['submit'])){
// $pass = md5($_POST['passwd']);
// $sql = "SELECT id FROM admin
// WHERE user='{$_POST['user']}'
// AND pass='{$pass}'";
// $result = mysql_query($sql);
if (isset($_POST['submit'])){
$sql = "SELECT id FROM admin
WHERE user='{$_POST['user']}'
AND pass='{$_POST['passwd']}'";
$result = mysql_query($sql);
// ------------------------------------------------------
// Hittades inte användarnamn och lösenord
// skicka till formulär med felmeddelande
// ------------------------------------------------------
if (mysql_num_rows($result) == 0){
header("Location: admin_session.php?badlogin=");
exit;
}
// ------------------------------------------------------
// Sätt sessionen med unikt index
// ------------------------------------------------------
$_SESSION['sess_id'] = mysql_result($result, 0);
$_SESSION['sess_user'] = $_POST['user'];
header("Location: welcome_session.php");
exit;
}
// ------------------------------------------------------
// Utloggning
// ------------------------------------------------------
if (isset($_GET['logout'])){
$_SESSION = array();
session_unset();
session_destroy();
header("Location: admin_session.php");
exit;
}
// ------------------------------------------------------
// Om inte inloggad visa formulär, annars logga ut-länk
// ------------------------------------------------------
if (!isset($_SESSION['sess_user'])){
echo "<h3>Logga in</h3>\n";
// ------------------------------------------------------
// Visa felmeddelande vid felaktig inloggning
// ------------------------------------------------------
if (isset($_GET['badlogin'])){
echo "Fel användarnamn eller lösenord!<br>\n";
echo "Försök igen!\n";
}
?>
<form action="admin_session.php" method="post">
Användarnamn:<br>
<input type="text" name="user"><br>
Lösenord:<br>
<input type="password" name="passwd"><br>
<input type="submit" name="submit" value="Logga in">
</form>
....
Filen - welcome_session.php
<?php
session_start();
// ------------------------------------------------------
// Kolla om inloggad = sessionen satt
// ------------------------------------------------------
if (!isset($_SESSION['sess_user'])){
header("Location: admin_session.php");
exit;
}
?>
<?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>admin - startSida</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
Välkommen <?=$_SESSION['sess_user'] ?><br><br>
<a href="register_session.php">Registera dig</a><br>
<a href="admin_session.php?logout=">Logga ut</a>
</body>
</html>
tack på förhand...