login  Naam:   Wachtwoord: 
Registreer je!
 Forum

cookies doen raar

Offline banana - 03/05/2005 22:33 (laatste wijziging 03/05/2005 22:34)
Avatar van bananaOnbekend Notice: Use of undefined constant gebruikersnaam - assumed 'gebruikersnaam' in c:\webserver\www\t-board\index.php on line 26

zegt mijn script als ik mijn website voor het eerst start op mijn nieuwe server (easy php). ik weet niet wat ik met deze foutmelding moet. eerst had ik dit niet. ook heeft mijn functie om de cookie te deleten nooit gewerkt:
  1. if($_GET[actie] == "uitloggen") {
  2. print('<div>Log uit</div><br>');
  3. setcookie("gebruikersnaam", "", time()-3600);
  4. print('Je bent succesvol uitgelogt!');
  5. }


terwijl hij hier bij de tuts staat :S hoe kan ik dit oplossen 

6 antwoorden

Gesponsorde links
Offline thyssimonis - 03/05/2005 22:47
Avatar van thyssimonis PHP interesse vertgeet je niet zo funcite boven aan de pagina
Offline jopiegoekopi - 03/05/2005 23:14 (laatste wijziging 03/05/2005 23:14)
Avatar van jopiegoekopi Onbekend
Citaat:
vertgeet je niet zo funcite boven aan de pagina
nee

Citaat:
Notice: Use of undefined constant gebruikersnaam - assumed 'gebruikersnaam' in cwebserverwwwt-boardindex.php on line 26
Zo'n error zou je ook moeten krijgen bij dat stukje voor uitloggen, maar dan met 'actie' ipv gebruikersnaam.

Het volgende is correct:
  1. <?php
  2.  
  3. $array['test'] = 'hallo';
  4.  
  5. define('een_constante', 'test');
  6.  
  7. echo $array[een_constante]; //geeft hallo
  8.  
  9. ?>


maar je zou ook gewoon echo $array['test'] kunnen doen.

bij $_GET[actie] is "actie" dus een constante, volgens syntaxregels van php. Aangezien zo'n constante niet gedefineerd is gaat php ervanuit dat het 'actie' (incl. aanhalingstekens, dus $_GET['actie']) moet zijn, een string dus.
Dat is ook wat je bedoelt, dus schrijf dat dan ook gewoon.
Offline CelestialCelebi - 04/05/2005 08:23
Avatar van CelestialCelebi PHP gevorderde Goeie uitleg, jopiegoekopi.

Maar, PHP gaat er niet van uit dat het een string is, maar doet het volgende:

Als de constante die jij opgeeft niet bestaat (een_constante), gaat PHP deze maken en geeft hem dezelfde waarde als naam (dus een_constante met de waarde een_constante) en geeft het een error van level E_NOTICE.

Daarom dus gewoon quotes om strings, want al die constanten kosten alleen maar extra laadtijd.
Offline banana - 04/05/2005 12:20
Avatar van banana Onbekend duzz moet ik nou
  1. <?
  2. if(isset($_GET[actie])) {
  3. }

doen of zoiets... kan het ook effe in nederlands 
begrijp er niks van..
Offline Legolas - 04/05/2005 12:22
Avatar van Legolas Onbekend isset($_GET['actie']
die aanhalingstekens schijnen BELANGRIJK te zijn^^
Offline banana - 04/05/2005 12:25
Avatar van banana Onbekend okj tnx ;)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.182s