Loginscript werkt niet op localhost???
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:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?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
}
}
?>
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.
Code (php)
En dit staat boven elke beveiligde 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
post hier alleen je relevante code, je moet niet verwachten dat wij "even" zon berg code voor je doornemen,
waar staat daar ergens dat je cookie van ingelogt geset it? je kijkt daar alleen of een variabele die nog niet bestaat wel 1 is...
@niek, beetje moeite never killed a guy
beetje snelle conclusie: "of een variabele die nog niet bestaat wel 1 is..." zie mijn eerdere vraagstelling
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<?php
if(isset($_COOKIE["gebruikersnaam"]))
{
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
}
}
?>
Het script logs me in maar nadat er staat welkom Kevin blablabla
dan logt hij je opeens weer uit.
Het script heeft het eerst wel goed gedaan dus snap de fout niet????
if(isset($_COOKIE["gebruikersnaam"]))
{
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
}
}
?>
Het script logs me in maar nadat er staat welkom Kevin blablabla
dan logt hij je opeens weer uit.
Het script heeft het eerst wel goed gedaan dus snap de fout niet????
Gewijzigd op 01/01/1970 01:00:00 door Kevin Tuns
Dit levert vaak wel de nodige notices op van niet-bestaande variabelen waar jij wel wat mee wilt gaan doen. $ingelogd is er zo eentje waar ik problemen mee verwacht.
Edit:
<input type="submit" value="Inloggen"> en dan in php controleren of $_POST['submit'] gelijk is aan 1... Dat gaat dus nooit en te nimmer lukken, je roept zelf dat het gaat om de value 'Inloggen'. Dat is dus heel wat anders.
print_r($_POST); had de complete inhoud van deze array voor jou op het scherm gezet, dan had je deze fout ook kunnen zien.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
Toch bedankt voor je hulp maar hij logt me dus wel in, maar nadat ik naar een andere pagina ben gegaan ben ik opeens uitgelogd.
Weet iemand misschien wat er dan mis zou kunnen zijn met mijn computer, want ik heb het met 3 verschillende servers geprobeerd.
michel schreef op 21.11.2006 13:07:
en je config word ook op elke pagina geinclude voor dat je die check doet?
result2 hoort lijkt mij niet in een loop..
welk script gebruik je om te valideren?
zoals eerder is gezegd kijk of je cookies wel geset worden nog voor je weer geeft "je bent succesvol ingelogd"
het zou kunnen dat je probleem in die loop + data in jou database zit
Ik controleerde niet of de cookies waren aangemaakt voordat ik "Je bent succesvol ingelogd" weergaf omdat ik er natuurlijk vanuit ging dat de cookies gewoon aangemaakt zouden worden. De andere pagina's kijken of de cookies bestaan en zo niet dan laten ze alleen zien wat een gast mag zien.
Het lijkt dus alsof hij de cookies niet aanmaakt.
Maar het rare is dat als ik het script op bijv. lycos zet dat het dan wel werkt.
Dit hoort natuurlijk niet zo, maar ik kan de fout niet vinden die ervoor zorgt dat het op mijn localhost niet werkt.
Quote:
Wanneer je jezelf een beetje gaat verdiepen in het beveiligingsbeleid van Lycos, of eigenlijk het gebrek aan beveiliging, dan zul je begrijpen dat Lycos geen referentiekader is...Maar het rare is dat als ik het script op bijv. lycos zet dat het dan wel werkt.
Waarschijnlijk zijn de default-settings van bv. WAMP of XAMPP al beter dan de instellingen van Lycos.
Ik ging nu even van lycos uit, maar ik heb het op superhost3000 geprobeerd, funpic en nog een aantal andere, daar had ik dit probleem niet dus wat is er fout>?????????
Mijn laatste hoop was dat mijn php.ini bestand misschien niet goed was ingesteld, maar na het vervangen van dit bestand werkt het nog steeds niet.
Ik ben op dit moment echt einderaad en hoop dat er iemand is die me toch kan en wil helpen.