cookies
het staat overal beschreven dat weet ik en zo moeilijk zal het vast niet zijn, maar ik doe toch schijnbaar iets fout.(zie code onderin)
1.hij moet een cookie maken als de gebruiker dat wil van zijn login gegevens
2.hij moet die de volgende keer in het login formulier invullen
maar hoe
//index.php
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>||prive||</title>
</head>
<style type="text/css">
body{
background-image:url(./bestanden/security.jpg);
background-position:bottom right;
background-repeat:no-repeat;
background-attachment:fixed;
cursor:default;
}
.header{
background-image:url(./bestanden/header.gif);
background-position:top left;
background-repeat:no-repeat;
height: 200;
}
.form{
background-color:#FC6;
}
.table{
background-color:#9CF;
color:#FFF;
}
</style>
<script type="text/javascript">
function goTo(url)
{
window.location = url;
}
</script>
<body>
<table width="800" height="400" align="center">
<tr class="header"><td height="160"></td></tr>
<tr>
<td align="center" valign="middle">
<?php
session_start();
include "bestanden/config.php";
if (isset($_POST['gebr'])&& isset($_POST['ww'])) {
$gebruiker=$_POST['gebr'];
$ww=$_POST['ww'];
$gebruiker = str_replace('drop','error', $gebruiker);
$gebruiker = str_replace(';','error', $gebruiker);
$gebruiker = str_replace('select','error', $gebruiker);
$gebruiker = str_replace('update','error', $gebruiker);
$gebruiker = str_replace('insert','error', $gebruiker);
$query="SELECT * FROM User WHERE gebruiker='".$gebruiker."'";
$result=mysql_query($query);
$fetch=mysql_fetch_array($result);
if ($fetch['ww'] == $ww) {
header ("<meta http-equiv=\"refresh\" content=\"2\">");
$_SESSION['gebruiker'] = $gebruiker ;
$_SESSION['ww'] = $ww ;
if ($_POST['blijven'] == '1')
{
setcookie('gebruiker');
setcookie('ww');
$_COOKIE['gebruiker'] = $gebruiker;
$_COOKIE['ww'] = $ww;
}
echo "<script type=\"text/javascript\">alert('je bent ingelogd')</script>";
} else {
echo "<script type=\"text/javascript\">alert('het gaat fout')</script>";}
}
if (isset($_GET['functie']))
{
if ($_GET['functie'] == 'uitloggen')
{
echo "<center><br/><br/>";
session_start();
session_unset();
session_destroy();
echo "<br/>U bent nu uitgelogd<br/>";
}
}
if (!isset($_SESSION['gebruiker'])){ ?>
<table class="table">
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<tr>
<Td><label>gebruikersnaam</label></Td><td><input type="text" name="gebr" class="form" size="25" value="<?php echo $_COOKIE['gebruiker']; ?>" /></td>
</tr><tr>
<Td><label>wachtwoord</label></Td><Td><input type="password" name="ww" class="form" size="25" value="<?php echo $_COOKIE['ww']; ?>" /></Td>
</tr><tr>
<Td><label>login onthouden</label></Td><Td><input type="checkbox" name="blijven" value="1" class="form" />
<input type="submit" value="login" class="form" /></Td>
</tr>
</form>
</table>
<?php } else { echo $_COOKIE['gebruiker']; ?>
<form>
<input type="button" value="dropload" onclick="goTo('./dropload.php')" class="form" /><br/><br/>
<input type="button" value="uitloggen" onclick="goTo('?functie=uitloggen')" class="form" />
</form>
<?php }?>
</td>
</tr>
</table>
<div align="center">© rubentebogt 2008 | alle rechten voorbehouden</div>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>||prive||</title>
</head>
<style type="text/css">
body{
background-image:url(./bestanden/security.jpg);
background-position:bottom right;
background-repeat:no-repeat;
background-attachment:fixed;
cursor:default;
}
.header{
background-image:url(./bestanden/header.gif);
background-position:top left;
background-repeat:no-repeat;
height: 200;
}
.form{
background-color:#FC6;
}
.table{
background-color:#9CF;
color:#FFF;
}
</style>
<script type="text/javascript">
function goTo(url)
{
window.location = url;
}
</script>
<body>
<table width="800" height="400" align="center">
<tr class="header"><td height="160"></td></tr>
<tr>
<td align="center" valign="middle">
<?php
session_start();
include "bestanden/config.php";
if (isset($_POST['gebr'])&& isset($_POST['ww'])) {
$gebruiker=$_POST['gebr'];
$ww=$_POST['ww'];
$gebruiker = str_replace('drop','error', $gebruiker);
$gebruiker = str_replace(';','error', $gebruiker);
$gebruiker = str_replace('select','error', $gebruiker);
$gebruiker = str_replace('update','error', $gebruiker);
$gebruiker = str_replace('insert','error', $gebruiker);
$query="SELECT * FROM User WHERE gebruiker='".$gebruiker."'";
$result=mysql_query($query);
$fetch=mysql_fetch_array($result);
if ($fetch['ww'] == $ww) {
header ("<meta http-equiv=\"refresh\" content=\"2\">");
$_SESSION['gebruiker'] = $gebruiker ;
$_SESSION['ww'] = $ww ;
if ($_POST['blijven'] == '1')
{
setcookie('gebruiker');
setcookie('ww');
$_COOKIE['gebruiker'] = $gebruiker;
$_COOKIE['ww'] = $ww;
}
echo "<script type=\"text/javascript\">alert('je bent ingelogd')</script>";
} else {
echo "<script type=\"text/javascript\">alert('het gaat fout')</script>";}
}
if (isset($_GET['functie']))
{
if ($_GET['functie'] == 'uitloggen')
{
echo "<center><br/><br/>";
session_start();
session_unset();
session_destroy();
echo "<br/>U bent nu uitgelogd<br/>";
}
}
if (!isset($_SESSION['gebruiker'])){ ?>
<table class="table">
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<tr>
<Td><label>gebruikersnaam</label></Td><td><input type="text" name="gebr" class="form" size="25" value="<?php echo $_COOKIE['gebruiker']; ?>" /></td>
</tr><tr>
<Td><label>wachtwoord</label></Td><Td><input type="password" name="ww" class="form" size="25" value="<?php echo $_COOKIE['ww']; ?>" /></Td>
</tr><tr>
<Td><label>login onthouden</label></Td><Td><input type="checkbox" name="blijven" value="1" class="form" />
<input type="submit" value="login" class="form" /></Td>
</tr>
</form>
</table>
<?php } else { echo $_COOKIE['gebruiker']; ?>
<form>
<input type="button" value="dropload" onclick="goTo('./dropload.php')" class="form" /><br/><br/>
<input type="button" value="uitloggen" onclick="goTo('?functie=uitloggen')" class="form" />
</form>
<?php }?>
</td>
</tr>
</table>
<div align="center">© rubentebogt 2008 | alle rechten voorbehouden</div>
</body>
</html>
alvast bedankt
dus zoals ik al zij kijk aub even naar dit stukje
Code (php)
1
2
3
4
5
2
3
4
5
if ($_POST['blijven'] == '1')
{
setcookie('gebruiker', $gebruiker);
setcookie('ww', $ww);
}
{
setcookie('gebruiker', $gebruiker);
setcookie('ww', $ww);
}
en de login tabel waar de cookie weer tevoorschijn moet komen:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<tr>
<Td><label>gebruikersnaam</label></Td><td><input type="text" name="gebr" class="form" size="25" value="<?php echo $_COOKIE['gebruiker']; ?>" /></td>
</tr><tr>
<Td><label>wachtwoord</label></Td><Td><input type="password" name="ww" class="form" size="25" value="<?php echo $_COOKIE['ww']; ?>" /></Td>
</tr><tr>
<Td><label>login onthouden</label></Td><Td><input type="checkbox" name="blijven" value="1" class="form" />
<input type="submit" value="login" class="form" /></Td>
</tr>
</form>
<tr>
<Td><label>gebruikersnaam</label></Td><td><input type="text" name="gebr" class="form" size="25" value="<?php echo $_COOKIE['gebruiker']; ?>" /></td>
</tr><tr>
<Td><label>wachtwoord</label></Td><Td><input type="password" name="ww" class="form" size="25" value="<?php echo $_COOKIE['ww']; ?>" /></Td>
</tr><tr>
<Td><label>login onthouden</label></Td><Td><input type="checkbox" name="blijven" value="1" class="form" />
<input type="submit" value="login" class="form" /></Td>
</tr>
</form>
alvast bedankt
ruben schreef op 04.03.2009 17:09:
in die oh zoo fantastische basis handleiding van je staat helaas niets over cookies.
dus zoals ik alzijzei kijk aub even naar dit stukje
en de login tabel waar de cookie weer tevoorschijn moet komen:
alvast bedankt
dus zoals ik al
Code (php)
1
2
3
4
5
2
3
4
5
if ($_POST['blijven'] == '1')
{
setcookie('gebruiker', $gebruiker);
setcookie('ww', $ww);
}
{
setcookie('gebruiker', $gebruiker);
setcookie('ww', $ww);
}
en de login tabel waar de cookie weer tevoorschijn moet komen:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<tr>
<Td><label>gebruikersnaam</label></Td><td><input type="text" name="gebr" class="form" size="25" value="<?php echo $_COOKIE['gebruiker']; ?>" /></td>
</tr><tr>
<Td><label>wachtwoord</label></Td><Td><input type="password" name="ww" class="form" size="25" value="<?php echo $_COOKIE['ww']; ?>" /></Td>
</tr><tr>
<Td><label>login onthouden</label></Td><Td><input type="checkbox" name="blijven" value="1" class="form" />
<input type="submit" value="login" class="form" /></Td>
</tr>
</form>
<tr>
<Td><label>gebruikersnaam</label></Td><td><input type="text" name="gebr" class="form" size="25" value="<?php echo $_COOKIE['gebruiker']; ?>" /></td>
</tr><tr>
<Td><label>wachtwoord</label></Td><Td><input type="password" name="ww" class="form" size="25" value="<?php echo $_COOKIE['ww']; ?>" /></Td>
</tr><tr>
<Td><label>login onthouden</label></Td><Td><input type="checkbox" name="blijven" value="1" class="form" />
<input type="submit" value="login" class="form" /></Td>
</tr>
</form>
alvast bedankt
Dan moet jij die oh zoo fantastische ogen van je misschien eens open doen en dit oh zoo fantastisch simpele stukje eens lezen, want dat heb jij oh zoo fantastisch gemist: pagina negen.
Verder is dit neem ik aan geen aanvraag, dus je zult het toch zelf moeten doen (Want (Ik zal wel weer eens m'n argumenten moeten opgeven) als je dít al niet kan, hoe wil je dan verder gaan met php, want dit stelt eigenlijk niet veel meer voor dan een var echo'en).
ik weet niet of je het weet dit is een forum
en btw een var echo dat kan ik, als je überhaupt de boel had gelezen
@Ruben: we zien er niet veel van terecht komen anders...
ruben schreef op 04.03.2009 22:22:jJij kan je duidelijk niet opstellen voor een vraag, dus wat zoek je hier.
iIk weet niet of je het weet, maar dit is een forum.
eEn btw een var echo dat kan ik, als je überhaupt de boel had gelezen.
Jawelhoor, ik kan me best opstellen (ik zou zelf voor openstellen kiezen, maar goed, opstellen kan denk ik ook wel) voor een vraag.
Jij steld alleen geen vraag, het is meer een commando. Je leert er meer van als je zelf gewoon lekker een beetje prutst en kijkt wat wel of niet werkt. Ik kan dan wel dat script van jou gaan aanpassen, maar daar ga jij het niet van onthouden.
Jou script klopt niet helemaal, het is handiger als je het op de manier gaat doen die in de handleiding staat die ik je hebt gegeven. Ik kan dan wel van alles zeggen wat er niet klopt, dat is alleen niet zo zinnig, aangezien ik dan zo ongeveer de handleiding naschrijf.
Verder zeg jij dat je de handleiding hebt gelezen, niks gevonden over hoe je cookie's aanmaakt. Ik heb na een paar seconde zoeken (zo simpel is het) een stukje gevonden over hoe je een cookie aanmaakt.
Hieruit blijkt dus weer, vind ik, dat je er geen moeite voor wilt doen. Ik gok ook dat je dit script voor een groot deel ook hebt overgenomen uit een of ander boek (php5 gids toevallig?).
Als ik jou was zou ik niet zo'n hoge toon aanslaan en die handleiding gaan leren.
Verder zijn de volgende dingen ook interessant voor jou:
SQL Beginners handleiding
Foutmeldingen: error, warning, notice
setcookie
session_start
zo maak je een cookie aan die langer geldig blijft, en dan kun je bijv: 3600 * 24 doen, om 24 uur in gelogd te blijven, verder moet je eigenlijk nog even in je script checken wat er gebeurt als er een lege input is, want dan logt hij gewoon in, verder, leuk commentaar weer, zo wordt het echt weer gezellig om iets te vragen...
Sessies, cookies en headers MOET je versturen vóór dat je met de output begint. Leer jezelf dus aan dat output pas het aller, allerlaatste is dat je aanmaakt, dan heb je nooit dit soort knullige fouten in je code zitten. Nu mag je namelijk weer opnieuw beginnen met je scriptje...
ob blijf je vanaf, dat is voor je vriendin.
die moeten natuurlijk net zoals headers altijd aan het begin verzonden worden.
nogmaals bedankt:D