Het is nog steeds hetzelfde script als een aantal weken geleden en ik heb het op meerdere thuisservers geprobeerd, waaronder:
* UsbWebserver
* Xampp
* EasyPHP
en een aantal andere.
Oja, er worden ook geen errors weergegeven terwijl error eall ofzo aanstaat.
Het script logt je in maar als je dan vervolgens naar een andere pagina gaat ben je weer uitgelogd.
Script:
<?php
If($ingelogd == 1)
{
echo''.$code9.'';
}
Else
{
if (isset($_POST['submit']) && $_POST['submit'] == '1') {
$gebruikersnaam = $_POST['gebruikersnaam'];
$wachtwoord = md5($_POST['wachtwoord']);
$tijd = $_POST['tijd'];
$query = mysql_query("SELECT * FROM leden WHERE gebruikersnaam = '$gebruikersnaam'");
$result = mysql_num_rows($query);
$query1 = mysql_query("SELECT * FROM leden WHERE gebruikersnaam = '$gebruikersnaam' && wachtwoord = '$wachtwoord'");
$result1 = mysql_num_rows($query1);
$query2 = mysql_query("SELECT * FROM leden WHERE gebruikersnaam = '$gebruikersnaam'");
while($result2 = mysql_fetch_object($query2)){
$id = $result2->memberid;
}
if($gebruikersnaam == ''){
$code = $code3;
}elseif($wachtwoord == ''){
$code = $code5;
}elseif(!preg_match('/^[A-Za-z0-9_-]+$/',$gebruikersnaam)) {
$code = $code8;
}elseif($result == ''){
$code = $code8;
}elseif($result1 == ''){
$code = $code8;
}
If($tijd == "Jaar")
{
$lengte = 60*60*24*365;
}
ElseIf($tijd == "Maand")
{
$lengte = 60*60*24*31;
}
ElseIf($tijd == "Week")
{
$lengte = 60*60*24*7;
}
Elseif($tijd == "dag")
{
$lengte = 60*60*24;
} else {
$lengte = 60*60*24;
}
if(isset($code)){
echo''.$code.'';
} else {
setcookie("gebruikersnaam", $gebruikersnaam, time() + $lengte, "/");
setcookie("wachtwoord", $wachtwoord, time() + $lengte, "/");
setcookie("id", $id, time() + $lengte, "/");
echo'Je bent succesvol ingelogd';
?>
<meta http-equiv="refresh" content="1; url=index.php">
<?php
}
} else {
?>
<form method="POST" action="?pagina=leden/inloggen">
<input type="hidden" name="submit" value="1">
<table cellpadding="1" cellspacing="1" width="100%">
<tr><td width="1%">Gebruikersnaam:</td><td><input type="text" name="gebruikersnaam"></td></TR>
<tr><td width="1%">Wachtwoord:</td><td><input type="password" name="wachtwoord"></td></TR>
<tr><td width="1%"></td><td><select name="tijd"><option value="Dag">Dag</option><option value="Week">Week</option><option value="Maand">Maand</option><option value="Jaar">Jaar</option></select></td></TR>
<td width="1%"> </td><td><input type="submit" value="Inloggen"> <input type="reset" name="reset" value="Opnieuw"></td></table>
<form>
<?php
}
}
?>
Dit is alleen het script login.php
Op deze manier controleer ik of iemand is ingelogd. Ik weet dat het niet de beste manier is maar het is nu even om te kijken of het werkt.
Dit staat dus in het config bestand.
<?php
if(!isset($_COOKIE["gebruikersnaam"])){
$ingelogd = '0';
} else {
$ingelogd = '1';
}
?>
En dit staat boven elke beveiligde pagina:
<?php
If($ingelogd == 1)
{
echo''.$code9.'';
}
Else
{
pagina
}
?>
Ik hoop dat ik genoeg info heb gepost en zo niet vraag er dan even om.
Het gaat mij er nu dus niet om of het veilig of wat dan ook is maar waarom het niet wil werken.
Alvast bedankt,
kevin tuns