login  Naam:   Wachtwoord: 
Registreer je!
 Forum

beveiligen met sessie

Offline mjong - 17/08/2006 09:10
Avatar van mjongNieuw lid Ik heb een sessie gemaakt met het inloggen via index.php
Als hij succesvol is en gecheckt is dan gaat hij door naar index2.php
Dit werkt perfect.

In index2.php staat check.php geinclude met de volgende code:

  1. <?php
  2. if (!(isset($_SESSION['username'])){
  3.  
  4. header("Location: ./noaccess.php");
  5.  
  6. }
  7. ?>

Maar nu gaat hij altijd naar noaccess.php of je nu goed inlogd of niet. En hij moet als de sessie bestaat doorgaan op index2.php en anders naar noaccess.php
Wat doe ik fout?

5 antwoorden

Gesponsorde links
Offline Anoniem - 17/08/2006 09:37 (laatste wijziging 17/08/2006 09:38)
Avatar van Anoniem PHP gevorderde
  1. <?php
  2. if (!isset($_SESSION['username'])){
  3.  
  4. header("Location: ./noaccess.php");
  5.  
  6. }
  7. ?>


Een '(' te veel .
Offline Dark_Paul - 17/08/2006 09:42
Avatar van Dark_Paul PHP ver gevorderde if (!isset($_SESSION['username'])) is al zonder overbodige haakjes. Zorg dat je 100% zeker weet dat $_SESSION['username'] wordt gezet.
Wat ik altijd doe, inloggen, gegevens uit DB halen of 't klopt. Als 't klopt, zet $_SESSION['ingelogd'] op 1, standaard op 0 gezet. Include op iedere pagina waarvoor je ingelogd moet zijn de controlepagina (ik gebruik altijd controle.php).
Die bouw ik zo op:
  1. <?php
  2. if (!isset($_SESSION['ingelogd']) || $_SESSION['ingelogd'] == 0) {
  3. header("location: verboden.php");
  4. }

Met een exit; werken gaa tniet, want dan wordt de hele verdere pagina niet afgemaakt. Als je die weglaat, zie je toch de pagina, dus verwijzen naar een andere pagina, die je dan de melding geeft dat je moet inloggen.
Offline mjong - 17/08/2006 09:43
Avatar van mjong Nieuw lid Ik heb het gewijzigd maar nog steeds hetzelfde probleem:(
Offline Anoniem - 17/08/2006 09:45 (laatste wijziging 17/08/2006 09:46)
Avatar van Anoniem PHP gevorderde De header werkt pas als de pagina al helemaal is gestuurd naar de client. Dus laat exit; maar WEL staan.

Edit:
Heb je boven elke pagina PHP.net: session_start staan?
Offline mjong - 17/08/2006 09:49
Avatar van mjong Nieuw lid
Citaat:
Heb je boven elke pagina php.net: session_start staan?


Dat was het:D Bedankt!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.326s