Thread: PHP: Log In Met Cookies
-
07-09-2004, 23:45 #1Approved 9-lifer
- Registered
- 15/08/03
- Location
- Moorsele
- Posts
- 2,552
- iTrader
- 10 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/18
PHP: Log In Met Cookies
Zo set ik mijn Cookies in config.php:
En dit is men login.php:PHP Code:<?php
error_reporting(E_ALL);
if ( !empty($_POST['gebruikersnaam']) ) {
setcookie('gebruikersnaam',$_POST['gebruikersnaam'],time()+60*60*24*7,'/');
setcookie('paswoord',$_POST['paswoord'],time()+60*60*24*7,'/');
}
?>Resultaat kan je hier bekijken.PHP Code:<?php
require ('config.php');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><head>
<title>Welkom bij de Plaskesvrienden! - Log In!!</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel=stylesheet type="text/css" href="site/styles.css">
</head>
<?php
require ('layout-up.php');
?>
<br />
<table class="style3" align="center">
<tbody>
<tr>
<td>
<form action="login.php" method="post">
Gebruikersnaam: <br /> <input type="text" name="gebruikersnaam" size="20" /><br />
Paswoord: <br /> <input type="password" name="paswoord" size="20" /> <br /><br />
<input value="Log In!" type="submit" name="login" />
</form>
</td>
</tr>
</tbody>
</table>
<br />
<?php
require ('layout-down.php');
?>
Deze error krijg ik dus:
Hoofdvraag is dus hoe ik mijn Cookie moet setten en hoe wijzig ik deze later?PHP Code:Notice: Undefined index: gebruikersnaam in /opt/www/desutterk/web/www.tipke.be/Plaskesvrienden/config.php on line 3
Warning: Cannot modify header information - headers already sent by (output started at /opt/www/desutterk/web/www.tipke.be/Plaskesvrienden/config.php:3) in /opt/www/desutterk/web/www.tipke.be/Plaskesvrienden/config.php on line 3
Last edited by 50Euro; 08-09-2004 at 18:24.
Nintendo ID & PSN & Xbox Live & Steam: FiFtyEurono votes
-
-
07-09-2004, 23:54 #2
mmm raar.
normaal gezien krijgde deze error alleen maar als ge al html output hebt.
Zijde zeker dat er in u online code geen witregel (spatie, enter) voor de <?php ?>-tags staat?no votes
-
08-09-2004, 01:53 #3
$_POST['gebruikersnaam'] is leeg, dat genereert een notice, met als gevolg dat de cookie niet meer kan worden ingesteld.
een oplossing is :
PHP Code:<?php
error_reporting(E_ALL);
if ( !empty($_POST['gebruikersnaam']) ) {
setcookie('gebruikersnaam',$_POST['gebruikersnaam'],time()+60*60*24*7,'/');
setcookie('paswoord',$_POST['paswoord'],time()+60*60*24*7,'/');
}
?>
Last edited by servi; 08-09-2004 at 01:54.
no votes
-
08-09-2004, 18:26 #4Approved 9-lifer
- Registered
- 15/08/03
- Location
- Moorsele
- Posts
- 2,552
- iTrader
- 10 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/18
Ik heb dit gedaan en het werkt!
Nu heb ik nog één probleempje om in te loggen. Dat is namelijk dat ik 2 keer op Log In moet klikken..
Misschien dat men layout-up.php kan helpen:Site kan je hier bekijken.PHP Code:<table class="style1" align="center">
<tbody><tr>
<td width="642">
<img src="site/header.gif" alt="De Plaskesvrienden!">
</td>
<td>
<?php
if ((isset($_COOKIE['gebruikersnaam']))&&(isset($_COOKIE['paswoord']))){
print "Welkom!";
print "<br />";
print $_COOKIE['gebruikersnaam'];
print "<br />";
}else{
print '<a href="login.php" target="_self">Log In!</a>';
}
?>
</td>
</tr>
</tbody>
</table>
<br>
<table class="style2" align="center" cellspacing="0">
<tbody><tr>
<td width="20%"><a href="home.php">Home</a></td>
<td width="20%"><a href="kalender.php">De Kalender</a></td>
<td width="20%"><a href="forum.php">Forum</a></td>
<td width="20%"><a href="fotopagina.php">Fotopagina</a></td>
<td width="20%"><a href="wegbeschrijving.php">Wegbeschrijving</a></td>
</tr>
</tbody></table>Last edited by 50Euro; 08-09-2004 at 18:28.
Nintendo ID & PSN & Xbox Live & Steam: FiFtyEurono votes
-
08-09-2004, 18:34 #5Member
- Registered
- 12/10/02
- Location
- mars
- Posts
- 14,319
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
1) op elke gpc (get, post, cookie) var kan je best checken of ie bestaat met isset(); best doe je er ook nog eens extra bewerkingen als addslashes, htmlspecialchars, ... op.
2) die headers heb ik je gisteren uitgelegd: je mag geen html/css/whatever-client-side code hebben voor die aanroep, alsook geen output van php zelve (echo, print, ...). Als je een file include met html-code of echo's of zo in, heb je ffcourse ook output he
.
no votes
