login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Parse error

Offline Bart - 13/10/2004 11:46
Avatar van BartPHP expert Hallo ik ben ff besig met een scriptje te schrijven, het is een scriptje waar je eigenlijk niks mee kan. Ik doe et alleen om PHP te leren.

  1. <?php
  2.  
  3. if(isset($_POST['submit']))
  4. {
  5. $naam = $_POST['naam'];
  6. $getal = $_POST['getal'];
  7.  
  8. if(!is_numeric['getal'])
  9. {
  10. echo "Je hebt geen getal ingevuld";
  11. }
  12. elseif(empty(['naam']))
  13. {
  14. echo "Je hebt geen naam ingevuld";
  15. }
  16. elseif($getal < 10)
  17. {
  18. ehco "Beste $naam, jij koos voor het getal $getal. Dat is kleiner dan 10.";
  19. }
  20. elseif($getal == 10)
  21. {
  22. echo "Beste $naam, jij koos voor het getal $getal. Dat is gelijk aan 10.";
  23. }
  24. elseif($getal > 10)
  25. {
  26. echo "Beste $naam, jij koos voor het getal $getal. Dat is groter dan 10.";
  27. }
  28. else{
  29. ?>
  30. <form action="" method="POST">
  31. Naam: <input type="text" name="naam"><br />
  32. Getal: <input type="numeric" naam="getal"><br />
  33. <input type="submit" name="submit value="Klik hier!">
  34. <input type="reset" value="wis alles">
  35. </form>
  36. <?php
  37. }
  38. ?>

Nu heb ik een parse error op lijn 8, kan iemand mij helpen?

20 antwoorden

Gesponsorde links
Offline xSc - 13/10/2004 11:48
Avatar van xSc Onbekend is_numeric['getal']

dit kan niet is_numeric is een functie

regel 8 wordt:

if(!is_numeric($getal)) {
Offline Bart - 13/10/2004 11:49 (laatste wijziging 13/10/2004 11:50)
Avatar van Bart PHP expert Nu staat er:
  1. Parse error: parse error, expecting `T_VARIABLE' or `'$'' in c:\apache\htdocs\derdescript.php on line 12
Offline xSc - 13/10/2004 11:51 (laatste wijziging 13/10/2004 12:09)
Avatar van xSc Onbekend elseif(empty(['naam']))

dat kan ook niet.

elseif(empty($naam))

dat is ook niet goed 

elseif (trim($naam) == "")

empty() mag je niet gebruiken om te controleren of een specifiek formveld is ingevuld. Dit zou anders zijn:

if (empty($_POST))

Bovenstaand mag wel, maar is nu niet van toepassing.
Offline Bart - 13/10/2004 11:54 (laatste wijziging 13/10/2004 11:56)
Avatar van Bart PHP expert Maar ik snap nou nooit echt waar trim voor is...
Nu heb ik dat van jou gedaan, maar krijg ik een parse error op lijn 18:S
Offline Tuinstoel - 13/10/2004 11:56
Avatar van Tuinstoel PHP expert
  1. <?
  2. elseif(empty($_POST['naam']))
  3. { /* ... is eigenlijk ook fout! */ }
  4.  
  5. // zo zou het moeten eigenlijk:
  6. elseif($_POST['naam'] == '')
  7. { /* Als je héél toevallig als naam FALSE of 0 hebt en je gebruikt empty dan zegt hij in jouw geval dus dat je geen naam in hebt gevuld... */ }
  8. ?>
Offline xSc - 13/10/2004 11:57
Avatar van xSc Onbekend Ah 

trim haalt alle spaties voor en achter de opgegeven var weg.

if ($naam == "")

kan ik natuurlijk ook een spatie invullen

if (trim($naam) == "")

houdt het volgende in:

Hij haalt eerst alle spaties voor en na de inhoud van $naam weg. Als het overgeblevene gelijk is aan niets, dan heeft 'tie niets ingevoerd. Begrijp je?

http://www.php.net/trim
Offline Bart - 13/10/2004 12:03
Avatar van Bart PHP expert @ Tuinstoel nu heb ik gedaan wat jij zei, maar hij blijf een parse error houden op regel 18
Offline xSc - 13/10/2004 12:06 (laatste wijziging 13/10/2004 12:08)
Avatar van xSc Onbekend Oke quicktimer, zoek het maar lekker uit. 

Zit ik m'n best te doen om jou te helpen. Tuinstoel zegt precies hetzelfde als wat ik zeg en naar mijn reacties kijk je niet.

Antwoord:

het is echo en niet ehco
Offline Bart - 13/10/2004 12:11
Avatar van Bart PHP expert :$ :$ :$ 
oeps sorry

Maar nu zegt ie de hele tijd je hebt geen getal ingevuld terwijl ik et wel doet
Offline SickBoy - 13/10/2004 12:13 (laatste wijziging 13/10/2004 12:17)
Avatar van SickBoy MySQL beginner
  1. <?php
  2.  
  3. if(isset($_POST['submit']))
  4. {
  5. $naam = $_POST['naam'];
  6. $getal = $_POST['getal'];
  7.  
  8. if(!is_numeric($_POST['getal']))
  9. {
  10. echo "Je hebt geen getal ingevuld";
  11. }
  12. elseif(empty($_POST['naam']))
  13. {
  14. echo "Je hebt geen naam ingevuld";
  15. }
  16. elseif($getal < 10)
  17. {
  18. echo "Beste $naam, jij koos voor het getal $getal. Dat is kleiner dan 10.";
  19. }
  20. elseif($getal == 10)
  21. {
  22. echo "Beste $naam, jij koos voor het getal $getal. Dat is gelijk aan 10.";
  23. }
  24. elseif($getal > 10)
  25. {
  26. echo "Beste $naam, jij koos voor het getal $getal. Dat is groter dan 10.";
  27. }
  28. }else{
  29. ?>
  30. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
  31. Naam: <input type="text" name="naam"><br />
  32. Getal: <input type="numeric" naam="getal"><br />
  33. <input type="submit" name="submit" value="Klik hier!">
  34. <input type="reset" value="wis alles">
  35. </form>
  36. <?php
  37. }
  38. ?>

fouten: $_POST['getal'], $_POST['naam'] en echo (stond ehco), } vergeten en action="<?php echo $_SERVER['PHP_SELF']; ?>"
en " vergeten in form
Offline Bart - 13/10/2004 12:15 (laatste wijziging 13/10/2004 12:16)
Avatar van Bart PHP expert @ Sickboy alleen die accoulade is de fout
want ik zoals je inmiddels al hebt gelezen hier is dat de mensen et als op is gevallen

En hij geeft nog steeds aan dat ik geen getal heb ik gevuld
Offline SickBoy - 13/10/2004 12:19 (laatste wijziging 13/10/2004 12:21)
Avatar van SickBoy MySQL beginner probeer het eens met ereg(...)

ah, in het form staat naam ipv name
Offline Bart - 13/10/2004 12:19 (laatste wijziging 13/10/2004 12:19)
Avatar van Bart PHP expert ereg(...)???
Offline SickBoy - 13/10/2004 12:22
Avatar van SickBoy MySQL beginner reguliere expressie
maar ik vind dat nogal moeilijk 

zie edit hierboven nog ff 
Offline Bart - 13/10/2004 12:24
Avatar van Bart PHP expert Nu heb ik et aangepast zoals jij zei nu heb ik dit:
  1. <?php
  2.  
  3. if(isset($_POST['submit']))
  4. {
  5. $naam = $_POST['naam'];
  6. $getal = $_POST['getal'];
  7.  
  8. if(!is_numeric($getal))
  9. {
  10. echo "Je hebt geen getal ingevuld";
  11. }
  12. elseif($_POST['naam'] == "")
  13. {
  14. echo "Je hebt geen naam ingevuld";
  15. }
  16. elseif($getal < 10)
  17. {
  18. echo "Beste $naam, jij koos voor het getal $getal. Dat is kleiner dan 10.";
  19. }
  20. elseif($getal == 10)
  21. {
  22. echo "Beste $naam, jij koos voor het getal $getal. Dat is gelijk aan 10.";
  23. }
  24. elseif($getal > 10)
  25. {
  26. echo "Beste $naam, jij koos voor het getal $getal. Dat is groter dan 10.";
  27. }
  28.  
  29. }else{
  30. ?>
  31. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
  32. Naam: <input type="text" name="naam"><br />
  33. Getal: <input type="numeric" name="getal"><br />
  34. <input type="submit" name="submit" value="Klik hier!">
  35. <input type="reset" value="wis alles">
  36. </form>
  37. <?php
  38. }
  39. ?>

Maar ik blijf de foutmelding zien als ik een getal heb ingevuld en op Klik hier! druk:s
Offline DRUNK - 13/10/2004 12:30
Avatar van DRUNK PHP gevorderde Hier een werkend voorbeeld, succes verder!
  1. <?php error_reporting(E_ALL);
  2.  
  3. if(!isset($_POST['submit'])) {
  4. ?>
  5. <form action="" method="POST">
  6. Naam: <input type="text" name="naam"><br />
  7. Getal: <input type="text" name="getal"><br />
  8. <input type="submit" name="submit" value="Klik hier!">
  9. <input type="reset" value="wis alles">
  10. </form>
  11. <?php
  12. }
  13. else {
  14. if (!is_numeric($_POST['getal'])) {
  15. echo 'je heb geen <u>getal</u> bij <b>getal</b> ingevoerd!';
  16. ?>
  17. <form action="" method="POST">
  18. Naam: <input type="text" name="naam"><br />
  19. Getal: <input type="text" name="getal"><br />
  20. <input type="submit" name="submit" value="Klik hier!">
  21. <input type="reset" value="wis alles">
  22. </form>
  23. <?php
  24. }
  25. if (empty($_POST['naam'])) {
  26. echo 'je hebt geen naam opgegeven!';
  27. ?>
  28. <form action="" method="POST">
  29. Naam: <input type="text" name="naam"><br />
  30. Getal: <input type="text" name="getal"><br />
  31. <input type="submit" name="submit" value="Klik hier!">
  32. <input type="reset" value="wis alles">
  33. </form>
  34. <?php
  35. }
  36. if ($_POST['getal'] < 10) {
  37. echo 'Beste ' . $_POST['naam'] . ', jij koos voor het getal ' . $_POST['getal'] . '. Dat is kleiner dan 10.';
  38. }
  39. else if ($_POST['getal'] == 10) {
  40. echo 'Beste ' . $_POST['naam'] . ', jij koos voor het getal ' . $_POST['getal'] . '. Dat is gelijk aan 10.';
  41. }
  42. else {
  43. echo 'Beste ' . $_POST['naam'] . ', jij koos voor het getal ' . $_POST['getal'] . '. Dat is groter dan 10.';
  44. }
  45. }
  46.  
  47. ?>
Offline SickBoy - 13/10/2004 12:30
Avatar van SickBoy MySQL beginner bij mij werkt uw script wel :x
Offline Bart - 13/10/2004 12:40
Avatar van Bart PHP expert @ Sickboy geeft ie ook weer Beste etc etc.
Offline Thomas - 13/10/2004 12:52
Avatar van Thomas Moderator Damn...

moet dit topic zo ver uitweiden over een parse-error?

Als je niet weet hoe HTML in elkaar steekt zou ik daar eens mee beginnen... dit gaat echt nergens over.
Offline SickBoy - 13/10/2004 13:26 (laatste wijziging 13/10/2004 13:26)
Avatar van SickBoy MySQL beginner Beste Amedee, jij koos voor het getal 1. Dat is kleiner dan 10.

ja dus 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.279s