login  Naam:   Wachtwoord: 
Registreer je!
 Forum

If else statement probleemT

Offline marsskydiver - 05/11/2005 16:49
Avatar van marsskydiverNieuw lid Ik wil een $_GET code checken met een code in de database om de persoonvervolgens door te sturen naar een pagina en bij een verkeerde code je doorgestuurt naar een andere pagina.

Om het makkelijk te testen heb ik de doorstuur pagina 'hond' en de doorstuur naar de andere pagina 'poes'.

  1. <?php
  2.  
  3. require("connect.php");
  4.  
  5. $qcode = "SELECT l_code FROM klanten_vk";
  6. /* de query om de gegevens in te vullen, in de tabel. */
  7. $rcode = mysql_query($qcode) or die ("Lezen gegevens mislukt.");
  8. /* De query die in de variable staat wordt nu uitgevoerd. */
  9.  
  10. while ($code_gegevens = mysql_fetch_object($rcode))
  11. {
  12. if (!empty($_GET))
  13. {
  14. $lcode = $_GET['lcode'];
  15.  
  16. if($lcode == $code_gegevens->l_code)
  17. {
  18. echo "hond";
  19. }
  20.  
  21. elseif ( $lcode != $code_gegevens->l_code )
  22. {
  23. echo "poes";
  24. }
  25.  
  26. }
  27. else
  28. {
  29. include "exit.php";
  30. }
  31. }
  32. ?>


Helaas geeft dit bij een goede code: poeshondpoes en bij een foute code: poespoespoes.

Kan iemand me helpen hier 'hond' voor de goede en 'poes' voor de verkeerde van te maken. 

B.v.d.

5 antwoorden

Gesponsorde links
Offline delta_004 - 05/11/2005 17:46
Avatar van delta_004 Onbekend
  1. <?php
  2. require("connect.php");
  3. $qcode = "SELECT `l_code` FROM `klanten_vk`";
  4. /* de query om de gegevens in te vullen, in de tabel. */
  5. $rcode = mysql_query($qcode) or die ("Lezen gegevens mislukt.");
  6. /* De query die in de variable staat wordt nu uitgevoerd. */
  7.  
  8. while ($code_gegevens = mysql_fetch_object($rcode))
  9. {
  10. if (!empty($_GET))
  11. {
  12. $lcode = $_GET['lcode'];
  13.  
  14. if($lcode == $code_gegevens->l_code)
  15. {
  16. echo "hond";
  17. }
  18. elseif ($lcode != $code_gegevens->l_code)
  19. {
  20. echo "poes";
  21. }
  22. }
  23. else
  24. {
  25. include "exit.php";
  26. }
  27. }
  28. ?>


En volgens mij moet je bij
  1. if (!empty($_GET))
  2. {

Bij get een waarde opgeven $_GET['lcode']
Offline Ibrahim - 05/11/2005 19:25
Avatar van Ibrahim PHP expert niet empty maar isset...
en doe ook meteen is_numeric ervoor (tenminste als de waarde alleen cijfers mag bevatten)
Offline marsskydiver - 05/11/2005 22:04 (laatste wijziging 05/11/2005 22:21)
Avatar van marsskydiver Nieuw lid Ok .. maar de spaties weg heeft helaas geen effect.

Ik had isset eerst staan en ook dat deed het niet.

En is_numeric is ook een handige ja, maar geeft niet de oplossing voor het probleem.

Ik heb nu het volgende:

  1. <?php
  2. require("connect.php");
  3. $qcode = "SELECT `l_code` FROM `klanten_vk`";
  4. $rcode = mysql_query($qcode) or die ("Lezen gegevens mislukt.");
  5. while ($code_gegevens = mysql_fetch_object($rcode))
  6. {
  7. if (is_numeric ( $_GET['lcode']))
  8. {
  9. if (isset ($_GET['lcode']))
  10. {
  11. $lcode = $_GET['lcode'];
  12. if($lcode == $code_gegevens->l_code)
  13. {
  14. echo "hond";
  15. }
  16. elseif ($lcode != $code_gegevens->l_code)
  17. {
  18. echo "poes";
  19. }
  20. }
  21. }
  22. else
  23. {
  24. echo "mug";
  25. }
  26. }
  27. ?>


http://site.nl/index.php?lcode=12345a geeft 'mugmugmug'
http://site.nl/index.php?lcode=123456 (goede code) geeft 'poeshondpoes'
http://site.nl/index.php?lcode=444444 (foute code) geeft 'poespoespoes'
http://site.nl/index.php?lco geeft 'mugmugmug'

:?:
Offline Ibrahim - 05/11/2005 23:26 (laatste wijziging 05/11/2005 23:40)
Avatar van Ibrahim PHP expert ik heb je script veranderd en getest en hij werkt:

  1. <?php
  2. include("connect.php");
  3.  
  4. if(is_numeric( $_GET['lcode'])) // kijken of $_GET['lcode'] numeriek is
  5. {
  6. $lcode = $_GET['lcode']; // zo ja geef lcode de waarde van $_GET['lcode']
  7. }
  8. else // zonee...
  9. {
  10. echo '$_GET[\'lcode\'] is niet numeriek'; // geef error ;-)
  11. exit; // stop script anders krijg je ruzie met mysql :p
  12. }
  13.  
  14. $qcode = "SELECT `l_code` FROM `klanten_vk` WHERE l_code=".$lcode.""; // selecteer l_code waar l_code gelijk is aan $lcode
  15.  
  16. $rcode = mysql_query($qcode) or die ("Lezen gegevens mislukt.");
  17.  
  18. $code_gegevens = mysql_fetch_assoc($rcode); //gebruik assoc ;-)
  19.  
  20. if (isset ( $lcode ) ) // als $lcode bestaat ga verder
  21. {
  22. if($lcode == $code_gegevens['l_code'])
  23. {
  24. echo "hond"; // is $lcode gelijk aan database waarde weergeef hond
  25. }
  26. else
  27. {
  28. echo "poes"; // anders poes :p
  29. }
  30.  
  31. }
  32. else
  33. {
  34. echo "mug"; // bestaat $_GET niet geef mug weer
  35. }
  36. ?>


http://site.nl/index.php?lcode=12345a geeft "mug" weer
http://site.nl/index.php?lcode=123456 (goede code) geeft "hond" weer
http://site.nl/index.php?lcode=444444 (foute code) geeft "poes" weer
http://site.nl/index.php?lco geeft "mug" weer

;-)

edit:

Tip:

Het is beter om assoc te gebruiken dan object 
Offline marsskydiver - 05/11/2005 23:45
Avatar van marsskydiver Nieuw lid WOW .. bedankt man!
:D 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.266s