login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[PHP] Rechten controleren

Offline raintjah - 01/09/2007 17:52
Avatar van raintjahNieuw lid Hallo,

ik ben dan toch de rechten gaan gebruiken van het script waar ik al heel de dag mee zit te kloten.
Dit script dus: http://www.site...&id=85

Nu heb ik nog een klein probleem:


Als ik de volgende code in mijn site zet:

  1. <?php if(($_SESSION['slevel'] & 2) == 2): ?>
  2. <br>¬ <a href="addmemb.php">Lid toevoegen</a>
  3. <?php endif; ?>


Dan werkt alles perfect zoals het zou moeten, maar hij geeft wel een notice:

Notice: Undefined index: slevel in c:\program files\easyphp1-8\www\loginpage.php on line 146

Hoe krijg ik die weg?


Alvast bedankt!!!

12 antwoorden

Gesponsorde links
Offline Esli - 01/09/2007 17:55
Avatar van Esli PHP interesse Ik veronderstel dat die 3 lijnen niets met lijn 146 hebben te maken. Kan je even 5 lijnen boven 146 (ook 146 zelf) en 5 lijnen eronder geven, dat kan pak helpen.
Offline raintjah - 01/09/2007 18:12
Avatar van raintjah Nieuw lid Dat veronderstel je fout,

het zit wel degelijk in die 3 lijnen. En de lijnen die ik hierboven gaf zijn 145,146,147.
Offline l0c4lh0st - 01/09/2007 18:14
Avatar van l0c4lh0st Nieuw lid Het probleem is dat $_SESSION['sLevel'] niet bestaat.

Je kunt de waarde van een variabele die niet bestaat ook niet vergelijken, vandaar dat PHP dat aan je vertelt.

Zorg er dus voor dat:
De variabele altijd bestaat
OF
Dat je kijkt of de variabele bestaat voordat je die code uitvoert.

Uit je code maak ik op dat $_SESSION['sLevel'] altijd moet bestaan (zal wel het rechten niveau zijn van een gebruiker of zo).
Offline raintjah - 01/09/2007 18:26 (laatste wijziging 01/09/2007 18:28)
Avatar van raintjah Nieuw lid Hij bestaat wel...
Want het werkt perfect, hij gebruikt sLevel ook etc etc.. Alleen die notice moet nog weg.
Offline l0c4lh0st - 01/09/2007 18:31
Avatar van l0c4lh0st Nieuw lid En die notice zegt juist dat 'ie niet bestaat. Dus ergens in je code gaat het toch fout.
Offline Flex1986 - 01/09/2007 18:48 (laatste wijziging 01/09/2007 19:15)
Avatar van Flex1986 Gouden medaille

Senior Member
Voeg boven regel 146 even dit toe.

  1. print_r($_SESSION);


En plak die code even hier of kijk of slevel bestaat.

Edit nog even een aanvulling;

  1. <?php
  2. // dus includen (requiren) we session.php
  3. require("session.php");
  4. ?>


Heb je dit ook gedaan? Anders kan je die pagina namelijk niet beveiligen want dan kent hij slevel niet. Eventueel zou je je hele code op http://plaatscode.be zetten dat maakt het wat makkelijker.
Offline raintjah - 01/09/2007 19:34
Avatar van raintjah Nieuw lid Hij print dan het volgende:

"Array ( )" , zonder de "


En ja, ik heb session.php gerequired
Offline Flex1986 - 01/09/2007 19:36 (laatste wijziging 01/09/2007 19:36)
Avatar van Flex1986 Gouden medaille

Senior Member
Dan staat er helemaal niks in je sessie dus gaat er wel degelijk ergens iets fout. Kun je even je complete session.php en het bestand wat je wil beveiligen plaatsen op http://www.plaatscode.be Dan kan er even naar gekeken worden.
Offline Simax - 01/09/2007 19:37
Avatar van Simax Onbekend ; ipv :?
Offline raintjah - 02/09/2007 13:28
Avatar van raintjah Nieuw lid Ik zal de code vanavond online zetten, ben nu even niet thuis.
Ik heb wel ook ergens gelezen over 'isset' dat er eventueel nog ergens bij moest. En dat ik een dubbelpunt ipv een kommapunt getypt heb, kan ook aan de basis liggen...

Alvast bedankt!
Offline l0c4lh0st - 02/09/2007 18:15
Avatar van l0c4lh0st Nieuw lid Die dubbele punt hoort er in ieder geval sowieso niet.
Offline raintjah - 02/09/2007 18:33
Avatar van raintjah Nieuw lid Dit is de pagina die de fout veroorzaakt:
http://www.plaatscode.be/6495/

En dit is session.php:
http://www.plaatscode.be/6496/
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.191s