Hallo, ben bezig aan een login. Alles ging prima totdat ik met cookies begon.

de hele foutmelding is als volgt :

Warning: Cannot modify header information - headers already sent by (output started at C:\webserver\www\Site\registreren.php:8) in C:\webserver\www\Site\registreren.php on line 311

Warning: Cannot modify header information - headers already sent by (output started at C:\webserver\www\Site\registreren.php:8) in C:\webserver\www\Site\registreren.php on line 312


Hieronder het formulier en het login script

<?php
#######################################################################################################
# INLOGSCHERM WEERGEVEN
#######################################################################################################

if ($action == 'login')
{
?>

<table align="center" cellpadding="5">
<tr>
<td>
<form action="?page=inloggen&amp;action=dologin" method="post" >
</td>
</tr>
<tr>
<td class="Gewone_tekst"> Loginnaam </td>
<td> <input name="loginnaam" type="text" class="field "> </td>
</tr>
<tr>
<td class="Gewone_tekst"> Wachtwoord </td>
<td> <input name="wachtwoord" type="password" class="field "></td>
</tr>
<tr>
<td colspan="2" ><div align="center"><br />
<input type="submit" name="inloggen" value="Aanmelden" class="button2">
</div></td>
</tr>
</form>
</table>


<?php
}
#######################################################################################################
# EFFECTIEF INLOGGEN
#######################################################################################################
if ($action == 'dologin')
{
$home = 'http://www.phphulp.nl';;
$nickname = $_POST['loginnaam'];
$paswoord = md5($_POST['wachtwoord']);

// kijken of de nickname niet leeg is
if($nickname != "")
{
$query2 = mysql_query("SELECT gbLoginnaam FROM gebruikers WHERE gbloginnaam = '$_POST[loginnaam]'");
// kijken of de nickname bestaat indien ja
if(mysql_num_rows($query2) != 0)
{ //selecteren van inlognaam en wachtwoord
$sql1 = "SELECT gbWachtwoord FROM gebruikers WHERE gbLoginnaam = '$nickname' AND gbWachtwoord = '$paswoord'";
$query1 = mysql_query($sql1) or die(mysql_error());
while($line1 = mysql_fetch_array($query1,MYSQL_NUM))
{
// selectie omzette in variabelen
$paswoord2 = $line1[0];
}
}
// ingevuld wachtwoord en nickname vergelijken met de info in DB
if($paswoord == $paswoord2)
{
setcookie("naam", $_POST['loginnaam'], time() + (60*60*24*365)); // cookie blijft 1 jaar bestaan
setcookie("wachtwoord", md5($_POST['wachtwoord']), time() + (60*60*24*365)); // cookie blijft 1 jaar bestaan
$boodschap = "U bent succesvol ingelogd, een ogenblik geduld... <META HTTP-EQUIV=\"REFRESH\" CONTENT=\"2; URL=".$home."\">";
}
else
{
$boodschap = 'Het inloggen is mislukt';
}
}
}
echo $boodschap;
?>



Ik heb geen idee waarom hij die cookies niet wil schrijven. Kan iemand me helpen aub?
Barry, niet handig & niet veilig. Die dingen zijn namelijk niet uniek. Gewoon een random code genereren, schrijf het weg in een sessie en bij iedere f5 kijk je of het userid + random code nog klopt, maak je een nieuwe code en schrijf je die weer weg in de sessie.
Arjan Kapteijn schreef op 01.04.2007 17:11
Barry, niet handig & niet veilig. Die dingen zijn namelijk niet uniek. Gewoon een random code genereren, schrijf het weg in een sessie en bij iedere f5 kijk je of het userid + random code nog klopt, maak je een nieuwe code en schrijf je die weer weg in de sessie.


goeie, zal ik es proberen

[edit]Waar vergelijk je die code in je sessie mee dan?

Reageren