[PHP] session foutmelding (hij staat aan begin!)

Pagina: 1
Acties:

  • Life-is-party
  • Registratie: Oktober 2000
  • Laatst online: 14-02-2023
oké.... ben beetje Session Newbie, maar ik weet je moet beginnen met session boven aan de pagina.
in mijn header.inc staat die dan ook boven! werkt prima...

Nu wil ik inloggen. Dit werkt ook.

Maar dan wil ik dat hij op de helft van de pagina weergeeft (of ik ingelogd ben of niet)
Als ik niet ben ingelogd (ahv session) geef hij dat keurig weer (niet ingelogd).
Als ik wel ingelogd ben. krijg ik het volgende:
code:
1
Warning: Cannot send session cache limiter - headers already sent (output started at /www/clientsites/firstmedia.homeip.net/www/include/header.inc:11) in /www/clientsites/firstmedia.homeip.net/www/include/check.inc on line 2

En daaronder geeft hij keurig weer dat ik ben ingelogd.....

Dit checken of ik ingelogd ben of niet. doe ik middels de volgende code:
PHP:
1
2
3
4
5
6
7
8
<?
    if ($Login == '1') { 
         echo "<a class=menulink>Ingelogd</a> <a class=menulink href=\"./uitloggen.php\">(log out)</a>";
                } 
    else { 
         echo "<a class=menulink>Niet ingelogd</a> <a class=menulink href=\"./login.php\">(log in)</a>"; 
                } 
?>

Wie helpt om die Errors weg te krijgen?

Acer TM661LMi - Intel Centrino 1,4 Ghz - 512mb ram - DVD-RW


  • besmart
  • Registratie: April 2000
  • Laatst online: 05-10-2015

besmart

fanta share the fun

Ik denk dat je eerst nog wat meer code moet laten zien, voordat wij het kunnen debuggen.

BeSmart! Everything goes well | photographs by Canon EOS 5D - Canon L 24-70 USM - Canon 70-300 USM IS


  • Life-is-party
  • Registratie: Oktober 2000
  • Laatst online: 14-02-2023
Oké na wat puzzelen en een plotselingen ingeving (dat ik het bestand nog niet vervangen had door een nieuwe versie (omdat ik hem gerenamed had).

Oké nu heb ik dus de volgende code ergens midden op de pagina geimplanteerd:
PHP:
1
2
3
4
5
6
<?
    if ($Login == '1') {          
echo "<a class=menulink>Ingelogd</a> <a class=menulink href=\"./uitloggen.php\">(log out)</a>";                }     
else {          
echo "<a class=menulink>Niet ingelogd</a> <a class=menulink href=\"./login.php\">(log in)</a>";                 } 
?>

En boven in (al allereerste op de pagina) staat dus (session open goed)

Maar NU geeft hij alleen maar wéér dat ik niet ingelogd ben. Omdat hij die variable $Login niet kan vinden.
En die moet hij uit de session halen. (die zit d'r in!) Maar hoe doe ik dat. Hoe geef ik aan dat hij die uit de session moet halen?

ps. Als ik in de url invoer &Login=1 dan geeft hij het wel aan.

Acer TM661LMi - Intel Centrino 1,4 Ghz - 512mb ram - DVD-RW


  • goalgetter
  • Registratie: Juni 1999
  • Laatst online: 25-08 15:24
$HTTP_SESSION_VARS["Login"];

Dan ben je ook meteen van je gigantische securityhole af.

  • Life-is-party
  • Registratie: Oktober 2000
  • Laatst online: 14-02-2023
Die hole valt best mee namelijk. want hij start dan neit inene eens sessie hoor. Hij geeft het alleen verkeerd weer of de sessie gestart is.

Acer TM661LMi - Intel Centrino 1,4 Ghz - 512mb ram - DVD-RW


  • goalgetter
  • Registratie: Juni 1999
  • Laatst online: 25-08 15:24
Dat hangt er een beetje vanaf waar die login check voor dient. Als je bezoeker aan de hand van eenzelfde if ($Login) allerlei functies tot zijn beschikking krijgt die alleen voor gebruikers die echt ingelogd zijn beschikbaar zouden moeten zijn, heb je toch wel een security hole lijkt me. Wat ik er eigenlijk mee bedoelde is dat je altijd via $HTTP_SESSION_VARS["varnaam"] zou moeten checken, dan kan de gebruiker nooit 'ingelogd' zijn als ie de sessie niet heeft.
Pagina: 1