ik ben bezig met een login-systeem op mijn website. nu wil ik gebruik gaan maken van een systeempje wat hier op de site staat (php/mysql inlog funcitie) Na veel geklooi heb ik het voormekaar dat de database goed functioneert. krijg ik de volgende melding:

Warning: Cannot modify header information - headers already sent by (output started at /home/derrudi.org/test/index.php:8) in /home/derrudi.org/test/index.php on line 88

Dit heeft met het cookie te maken toch? wat gaat er mis?

greetz Rudi
<html>
<head>
<link rel="shortcut icon" href="favicon.ico">
<META NAME="author" LANG="nl" CONTENT="DeRRudi">
<META NAME="description" LANG="nl" CONTENT="DeRRudi.org, Over Mezelf (Rutger Gelling), Zwemmen, Drummen, foto's en FEESTEN!!">
<META NAME="keywords" LANG="nl" CONTENT='DeRRudi, Rutger, Gelling, Rutger Gelling, zwemmen, TriVia, trivia, wedstrijd zwemmen, drummen, informatica, fitness'>
<title>
DeRRudi.org
</title>
<link rel="stylesheet" type="text/css" href="css/main.css">
<script type="text/javascript" language="JavaScript" src="./css/script.js"></script>

</head>

<body topmargin='0' leftmargin='0' marginheight='0' marginwidth='0' scroll='no' background='./images/kant.jpg'>
<br />
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at /home/derrudi.org/test/index.php:57) in <b>/home/derrudi.org/test/index.php</b> on line <b>16</b><br />

ik zei toch :) eerst html daarna het login script.. wat je moet doen is dus BOVEN <html> het loginscript gebruiken..
ok.. was de include van session vergeten :$ die stond er nog onder..

nu is de foutmelding weg.. maar ben ik nog niet ingelogd. :(
heb je dat wachtwoord in je users tabelletje wel md5??

zo niet dan kun je het wachtwoord 'test' omzetten in md5 hash via:

http://www.phphulp.nl/voorbeeld/md5_encryption.php

filename van die url moest wezen md5_hash maar dat wist ik toen nog niet :P

je kunt straks testen via:

<?
echo var_dump($_COOKIE);
?>

als er staat NULL dan lukt het niet.. staat er iets anders dan lukt het wel.. var_dump() geeft array terug met key's en values van al je cookies :)
heb ik gedaan. Het cookie is ook goed aangemaakt.
er zijn ook geen foutmeldingen.
Nog een kleine opmerking mijner zijds :)

Die error van headers already sent wil ook nog wel eens op te lossen zijn door ob_start(); op de eerste regel van je pagina te zetten.
En in je php.ini kan je volgens mij ook instellen dat eerst alle headers verzameld worden voordat er output is.

Dacht ik :P
OP een of andere manier kan hij nu: $user('name') niet weer vinden. de hele $user is leeg. Hoe los ik dit op..
wat is $user?? als dat een array is gebruik je niet ( ) maar [ ] .. graag wat duidelijkere vragen en zelf ook inzet tonen :)
okeuj :)

Mijn inzet is vrij hoog hoor! :)

Bij het inloggen gebruikt hij een controle op $user['name'] dit is een variabele van het type usersession. Deze wordt gedefinieerd in sessions.php. Hij gaat na het inloggen controleren of: $user['name'] bestaat. Ook al gaat al het inloggen goed. $user['name'] blijft altijd leeg. (heb al een controle uitgevoerd).
OK, volgende wat ik gevonden heb. Hij kan het cookie niet uitlezen. Als er geen login of logout is gaat hij de timehash van het cookie vergelijken met die van de database. als dit overenkomt returnt ie :$user. dit is de array die hij uitgelezen heeft uit de database.

OP het moment dat hij het cookie wil uitlezen moet er een timehash komen. Die vind hij niet. is deze: $_COOKIE[$website] functie dan wel goed? met dit returnt ie een 0-waarde. de inhoud van het cookie is wel goed (heb ik gecontroleerd) en komt overeen met de timehash van de database.
wat een niet aanwezige / in :$path al niet kan doen :S

finally it works.. dat had niet zo lang hoeven duren :)

Reageren