login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[PHP] Undefined Constant (Opgelost)

Offline Sar - 19/09/2007 08:36 (laatste wijziging 19/09/2007 08:36)
Avatar van SarPHP interesse Ik ben bezig met een register pagina, dit doe ik door middel van een Switch.

Gewoon "Case add" en "default", als trigger gebruik ik "$_GET['action']".

Nu ik hem test werkt alles super, alleen krijg ik wel de meldingen:

Notice: Use of undefined constant add - assumed 'add' in F:\Usb Webserver\Root\register.php on line 6

Notice: Undefined index: action in F:\Usb Webserver\Root\register.php on line 4


Verder doet hij hetzelfde bij de global variabelle $_POST.

Ter info, PHP Version 5.1.6.

Weet iemand wat dit is? en of ik me er druk om moet maken?

Alvast bedankt!

12 antwoorden

Gesponsorde links
Offline marten - 19/09/2007 08:38 (laatste wijziging 19/09/2007 08:39)
Avatar van marten Beheerder oplossing:

  1. if(isset($_GET['action'])) {
  2. switch($_GET['action']) {
  3. case .....
  4. }
  5. }


Dus eerst controleren of de variabele gezet is. Verder zou je code ook wel handig zijn. Grote lappen op plaatscode.
Offline Sar - 19/09/2007 08:59 (laatste wijziging 19/09/2007 09:02)
Avatar van Sar PHP interesse Volgens mij is dat het probleem niet, als er geen $_GET['action'] gevonden kan worden, zou hij toch gewoon de Default moeten pakken?

en btw, hoe lost ik dat op met de post dan?

Plaatscode: 3344

Register.php fouten
--------------------------------------------
Notice: Undefined index: action in F: \Usb Webserver\Root\register.php on line 4

Notice: Use of undefined constant add - assumed 'add' in F: \Usb Webserver\Root\register.php on line 6

en dan komt het formulier.


--------------------------------------------

register.php&action=add fouten
--------------------------------------------
Notice: Use of undefined constant add - assumed 'add' in F: \Usb Webserver\Root\register.php on line 6

Notice: Undefined index: name in F: \Usb Webserver\Root\register.php on line 7

Notice: Undefined index: name in F: \Usb Webserver\Root\register.php on line 9

Notice: Undefined index: pass in F: \Usb Webserver\Root\register.php on line 13

Notice: Undefined index: mail in F:\Usb Webserver\Root\register.php on line 17

Notice: Undefined index: pass in F: \Usb Webserver\Root\register.php on line 21

Notice: Undefined index: pass2 in F: \Usb Webserver\Root\register.php on line 21

en dan komt er gewoon te staan dat de gegevens opgeslagen zijn, en dan zijn de gegevens ook opgeslagen.
Offline xSc - 19/09/2007 09:38
Avatar van xSc Onbekend add moet tussen quotes:

case 'add':
Offline Sar - 19/09/2007 10:07
Avatar van Sar PHP interesse Ja dat klopt, maar de $_GET['action'] fout dan:

Notice: Undefined index: action in F:\Usb Webserver\Root\register.php on line 4

en alle $_POST['...'] fouten?
Offline Rens - 19/09/2007 10:14
Avatar van Rens Gouden medaille

Crew algemeen
PHP.net: isset gebruiken...
Die kijkt of de index geset is.
Offline Sar - 19/09/2007 10:16
Avatar van Sar PHP interesse sorry, hoe bedoel je dit?
Offline xSc - 19/09/2007 10:38
Avatar van xSc Onbekend Sar, je probleem komt hierdoor:

je hebt je error_reporting hoog staan. Hierdoor krijg je ook waarschuwingen als je bepaalde vars niet hebt gedefinieerd.

Goed, je gebruikt switch($_GET['action']), maar de foutmelding verschijnt als je $_GET['action'] niet hebt meegegeven aan je url.

  1. <?php
  2.  
  3. if (isSet($_GET['action']))
  4. {
  5.  
  6. // de variabele is geset
  7.  
  8. }
  9. else
  10. {
  11.  
  12. // de variabele ken ik niet
  13.  
  14. }
  15.  
  16. ?>


Dus _voor_ je switch moet je controleren of je variabele is geset.
Offline marten - 19/09/2007 10:40
Avatar van marten Beheerder Zoiets zei ik in de eerste reactie al 
Offline xSc - 19/09/2007 10:41
Avatar van xSc Onbekend Marten, je hebt gelijk 

Ik lees meestal niet eens alle reacties, maar kijk hoever men is met oplossen 
Offline Sar - 19/09/2007 10:46
Avatar van Sar PHP interesse Ja maar zoals ik ook al zei, hij zou toch gewoon "default:" moeten pakken als er geen &action is?
Offline xSc - 19/09/2007 10:48
Avatar van xSc Onbekend Ja, maar het probleem is:

Je krijgt een warning, omdat $_GET['action'] er niet is.

Als je dat niet wilt, moet je je error_reporting lager zetten: http://php.net/error_reporting
Offline Sar - 19/09/2007 10:54
Avatar van Sar PHP interesse Ja dat heb ik net dus gedaan.
Het is nu verder opgelost, de $_POST variabelle fouten waren een fout van mezelf!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.201s