Loginscript werkt niet op localhost???
een tijdje terug heb ik hier een aantal vragen gesteld over het starten van cookies. Ik ben toen geholpen en mijn script werkte perfect. Ik ben toen een aantal weken gestopt en wou het van de week weer oppakken maar op de een of andere manier kan ik niet meer inloggen.
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:
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.
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
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
Gesponsorde koppelingen:
post hier alleen je relevante code, je moet niet verwachten dat wij "even" zon berg code voor je doornemen,
en je config word ook op elke pagina geinclude voor dat je die check doet?
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
@wes
beetje snelle conclusie: "of een variabele die nog niet bestaat wel 1 is..." zie mijn eerdere vraagstelling
beetje snelle conclusie: "of een variabele die nog niet bestaat wel 1 is..." zie mijn eerdere vraagstelling
Heb het script ietsje veranderd voor jullie duidelijkheid:
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
Begin je script eens met de volgende regels:
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.
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 -
Als je goed kijkt naar het script zie je dat submit = 1 word meegegeven als een hidden. Dit leverde eerst ook geen problemen op. Tevens heb ik in de beginpost gezegd dat ik error_reporting(E_ALL); er al instaat.
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.
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.
Volgens mij ligt het probleem niet bij het script maar heeft het te maken met mijn computer want: als ik het script upload naar wat voor host dan ook dan werkt hij gewoon.????
Weet iemand misschien wat er dan mis zou kunnen zijn met mijn computer, want ik heb het met 3 verschillende servers geprobeerd.
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?
ja, maar op dit moment is de check nu zo:
Daar zou het dus niet aan moeten liggen.
Code (php)
Daar zou het dus niet aan moeten liggen.
Gewijzigd op 01/01/1970 01:00:00 door Kevin Tuns
waar haal je je codes weg?
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
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
De codes komen allemaal uit het script hierboven, eerst liet ik een aantal codes zien uit de config, maar die word hier nu niet meer bij betrokken.
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.
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.
Ja, dat begrijp ik ook wel, maar het gaat er nu om waarom hij die cookies niet wil aanmaken, en waarom hij dat wel wil doen op een andere host.
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>?????????
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>?????????
Ik heb nog eens geprobeerd om alle servers die ik had geprobeerd te upgraden; ze hadden allemaal een upgrade die ik nog niet had geinstalleerd, maar ook deze updates hadden geen effect.
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.
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.



