login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Session probleem (Opgelost)

Offline arneman - 04/02/2009 19:05
Avatar van arnemanNieuw lid Bij het laden van de pagina gebeurt dit:

  1. if (empty($_SESSION['id'])) {
  2.  
  3. //toon inlogscherm
  4.  
  5. } else {
  6. echo '<form method="post" action="loguit.php">
  7. <table>
  8. <tr>
  9. <td><p>Welkom '.$geb.'!</p></td>
  10. </tr>
  11. <tr>
  12. <td><p>Je bent succesvol aangemeld</p></td>
  13. </tr>
  14. <tr><td><input type="submit" value="Log uit" name="loguit"></td></tr>
  15. </table>
  16. </form>';
  17. }


Login.php werkt maar ik krijg 2 waarschuwingen namelijk

Citaat:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:xampphtdocskickerheader.php:16) in C:xampphtdocskickerlogin.php on line 31

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:xampphtdocskickerheader.php:16) in C:xampphtdocskickerlogin.php on line 31


Het bestand login.php vind je hier:

Plaatscode: 88277

Ook de loguit functie werkt niet naar behoren

  1. if (isset($_POST['loguit'])) {
  2. if (empty($_SESSION['id'])) {
  3. echo "<p>Je bent nog niet ingelogd</p>";
  4. } else {
  5. $_SESSION = array();
  6. echo "<p>Je werd succesvol uitgelogd</p>";
  7. }
  8. } else {
  9. echo "<p>Geen toegang!</p>";
  10. }


Weet iemand waar de waarschuwing vandaan komt en waar de sessiefout zit?

10 antwoorden

Gesponsorde links
Offline Rens - 04/02/2009 19:12
Avatar van Rens Gouden medaille

Crew algemeen
Die PHP.net: session_start van regel 30 moet op regel 1 staan van index.php.
Er mag niks voor staan behalve dan <?PHP.
Offline arneman - 04/02/2009 19:19
Avatar van arneman Nieuw lid Dan krijg ik gewoon te horen dat de fout op een andere regel staat.
Offline Tuinstoel - 04/02/2009 19:30
Avatar van Tuinstoel PHP expert ob_start(); boven alles plaatsen.
Offline Martijn - 04/02/2009 19:31
Avatar van Martijn Crew PHP volgens mij is dat niet echt nodig.

Wat je moet doen is zorgen dan
  1. <?php
  2. ?>

HELEMAAL bovenaan staat. Dit moet het eerst stukje code zijn wat op een pagina word uitgevoerd. NIETS anders hiervoor.
Offline Rik - 04/02/2009 19:34
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
DeviourSoul schreef:
volgens mij is dat niet echt nodig.

Wat je moet doen is zorgen dan
[..code..]
HELEMAAL bovenaan staat. Dit moet het eerst stukje code zijn wat op een pagina word uitgevoerd. NIETS anders hiervoor.
En dan niet alleen bovenaan login.php, maar bovenaan het bestand dat als eerste wordt geladen. Waarschijnlijk index.php dus.
Offline Arnold - 04/02/2009 20:35
Avatar van Arnold Nieuw lid Als je de login.php include in een andere pagina, kunnen mogelijk al de headers zijn verzonden naar de browser. Dat kan zijn door een echo, of door iets anders.

De oplossing ligt inderdaad bij de post van Boukefalos.
Offline arneman - 04/02/2009 23:22
Avatar van arneman Nieuw lid ik denk dat ik het ongeveer juist heb. Ik kan me in en uitloggen en ik blijf dat op de andere pagina's.

Probleem is wel dat ik wanneer ik terug keer naar de index.htm, ik opnieuw de foutcode zie.

Ik het voorlopig opgelost met:

  1. <?php
  2. ?>


Maar is er geen manier om te checken of er een sessie bezig is? Ik heb er nu het volgende staan in mijn header.php die op alle pagina's bovenaan komt. Waarschijnlijk zit hier het probleem, maar ik wil dat de sessie evengoed gestart kan worden vanop een andere pagina. Hier even de code die ik nu heb:



  1. <?php
  2. if ($_SESSION['id'] !== '') {
  3. }
Offline Rik - 05/02/2009 13:42
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Of de sessie gestart is kun je in ieder geval controleren met isset($_SESSION).
Offline Martijn - 05/02/2009 13:42
Avatar van Martijn Crew PHP session_start in htm bestand? hmm.
Offline arneman - 05/02/2009 14:54
Avatar van arneman Nieuw lid Die htm was een typfout hoor ;) maar ik denk dat het met de @ gaat blijven, heel erg bedankt nog.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.208s