Problemmer med login system
Jeg har prøvet at lave et login system men det virker desværre ikke. Problemet er at man bliver logget ind uanset hvad.Lige så i ved hvordan det er lavet så er her en kort beskrivelse.
Som udgangspunkt for brugeren vist login dellen. Når brugeren trykker post sendes brugernavn og kodeord, men også en tjek besked via POST.
Her efter ses det om det er rigtigt i headderen (før <html>)
Afhængig af hvad brugeren har valgt tjekkes kodeord og brugernavn. Er det rigtigt er $login = "ja" ellers er $login = "nej" og der skrives en fejlmeddelse.
I kan se resultatet her: http://www.kogebogen.a-mweb.dk/
------KODE---- (forkortet)
<?php
session_start();
/*********************************************************
| |
| Hvis personen har logget ind manuelt |
| |
*********************************************************/
if ($_POST['tjek'] == "login")
{
include "/rod/opret-forbindelse.php"; //opretter forbindelse
$username = $_POST['brugernavn'];
$password = hash('sha256', $_POST['password']);
$findesbruger = mysql_num_rows(mysql_query("SELECT * FROM `kogebogen-bruger` WHERE brugernavn='".$username."' AND kodeord='".$password."'") OR DIE(mysql_error()));
if ($findesbruger == "1")
{
$login = "ja";
$_SESSION['brugernavn'] = "$username";
$_SESSION['password'] = "$password";
if ($_POST['huskmig'] == "On" && $login == "ja")
{
setcookie("login[brugernavn]", "$username");
setcookie("login[password]", "$password");
}
}
else
{
if ($_POST['brugernavn'] == "" || $_POST['brugernavn'] == "password")
{
$login = "nej";
$fejl = "Skriv et brugernavn og/eller kodeord";
}
else
{
$login = "nej";
$fejl = "Brugernavnet og/eller kodeordet er forkeret";
}
}
}
/*********************************************************
| |
| Hvis personen har logget ind uden cookies |
| |
*********************************************************/
elseif (isset($_SESSION['brugernavn']) && isset($_SESSION['password']) && $_POST['tjek'] != "login")
{
include "/rod/opret-forbindelse.php"; //opretter forbindelse
$username = $_SESSION['brugernavn'];
$password = $_SESSION['password'];
$findesbruger = mysql_num_rows(mysql_query("SELECT * FROM `kogebogen-bruger` WHERE brugernavn='".$username."' AND kodeord='".$password."'") OR DIE(mysql_error()));
if ($findesbruger == "1")
{
$login = "ja";
}
else
{
$login = "nej";
$fejl = "Fejl: ændring i session";
}
}
/*********************************************************
| |
| Hvis personen logges ind via cookies |
| |
*********************************************************/
elseif (isset($_COOKIE['login']) && $_POST['tjek'] != "login" !isset($_SESSION['brugernavn']) && !isset($_SESSION['password']))
{
include "/rod/opret-forbindelse.php"; //opretter forbindelse
$username = $_COOKIE['login']['brugernavn'];
$password = $_COOKIE['login']['password'];
$findesbruger = mysql_num_rows(mysql_query("SELECT * FROM `kogebogen-bruger` WHERE brugernavn='".$username."' AND kodeord='".$password."'") OR DIE(mysql_error()));
if ($findesbruger == "1")
{
$login = "ja";
}
else
{
$login = "nej";
$fejl = "Fejl: ændring i cookies";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">
<html>
<head>
.... ligegyldig html-kode ....
</head>
<body>
.... ligegyldig html-kode ....
<?php
/*********************************************************
| |
| normal login |
| |
*********************************************************/
function login($fejl="")
{
echo '
<tr>
<td class="sidebox_top">
Login
</td>
</tr>
<tr>
<td class="sidebox_tekst">
<form method="post" action="#">
<table style="border:none;" class="login">
<tr>
';
if ($fejl != "")
{
echo '
<tr>
<td>
<span style="font-size:70%;position:relative;top:0px;left:4px;">'.$fejl.'</span>
</td>
</tr>
';
}
echo '
<td>
<span style="font-size:70%;position:relative;top:0px;left:4px;">Brugernavn:</span>
</td>
</tr>
<tr>
<td style="background-image:url(img/login.png);">
<!--[if IE]>
<div style="position:relative;top:-2px;left:0px;">
<![endif]-->
<input tabindex="1" maxlength="20" name="brugernavn" type="text" class="login" />
<!--[if IE]>
</div>
<![endif]-->
</td>
</tr>
<tr>
<td>
<span style="font-size:70%;position:relative;top:0px;left:4px;">Password:</span>
</td>
</tr>
<tr>
<td style="background-image:url(img/login.png);">
<!--[if IE]>
<div style="position:relative;top:-2px;left:0px;">
<![endif]-->
<input tabindex="2" maxlength="20" name="password" type="password" class="login" />
<!--[if IE]>
</div>
<![endif]-->
</td>
</tr>
<tr>
<td>
<!--[if IE]>
<div style="position:relative;top:0px;left:-4px;">
<![endif]-->
<input name="huskmig" type="checkbox" style="position:relative;top:0px;left:3px;" />
<span style="font-size:70%;position:relative;top:-2px;left:5px;">Husk mig</span>
<!--[if IE]>
</div>
<![endif]-->
</td>
</tr>
<tr>
<td>
<input type="hidden" name="tjek" value="login" />
<input type="image" src="img/login_buttom.png" name="button" id="login" onmouseover="document.getElementById(\'login\').src=\'img/login_buttom-selekt.png" onmouseout="document.getElementById(\'login\').src=\'img/login_buttom.png" />
</td>
</tr>
<tr>
<td>
<a href="index.php?profil=opret">
<img class="no-border" src="img/Opret_buttom.png" alt="login" id="Opret" onmouseover="document.getElementById(\'Opret\').src=\'img/Opret_buttom-selekt.png" onmouseout="document.getElementById(\'Opret\').src=\'img/Opret_buttom.png" />
</a>
</td>
</tr>
</table>
</form>
</td>
</tr>
<tr>
<td class="sidebox_bottom"></td>
</tr>
';
}
/*********************************************************
| |
| normal login |
| |
*********************************************************/
function loggetind()
{
global $username;
echo '
<tr>
<td class="sidebox_top">
Velkommen
</td>
</tr>
<tr>
<td class="sidebox_tekst">
Velkommen '.$username.' du har <br />
nu følgene mulighedder<br />
<a href="index.php?Opret=skriv">
<img src="img/Opskrift_buttom.png" class="loginButton" id="opskirft" style="border:none;" alt="Opret opskrift" onmouseover="document.getElementById(\'opskirft\').src=\'img/Opskrift_buttom-selekt.png\';" onmouseout="document.getElementById(\'opskirft\').src=\'img/Opskrift_buttom.png\';" />
</a>
<a href="index.php?profil=se">
<img src="img/Profil_buttom.png" class="loginButton" id="Profil" style="border:none;" alt="Profil" onmouseover="document.getElementById(\'Profil\').src=\'img/Profil_buttom-selekt.png\';" onmouseout="document.getElementById(\'Profil\').src=\'img/Profil_buttom.png\';" />
</a>
</td>
</tr>
<tr>
<td class="sidebox_bottom"></td>
</tr>
';
}
/*********************************************************
| |
| aktiver login |
| |
*********************************************************/
$login = "ja";
if ($login == "ja")
{
loggetind();
}
elseif ($login == "nej")
{
login($fejl);
}
else
{
login();
}
/*********************************************************
| |
| tjekker login |
| |
*********************************************************/
?>
