login  Naam:   Wachtwoord: 
Registreer je!
 Forum

$_GET, vreemd verschijnsel

Offline Stefan14 - 17/01/2008 22:32
Avatar van Stefan14PHP gevorderde Ik heb een scriptje die variabelen uit de url ophaalt en daarna in de database kijkt of hier gegevens aan gekoppeld zijn, hierbij gebeurt alleen iets vreemds.

Hij geeft false als ik eerst het campaignID en daarna het affiliateID in de url zet en true als ik ze andersom neerzet.

het script is als volgt:
  1. <?php
  2. //variabelen uit url ophalen
  3. $campagneID = $_GET['campaignID'];
  4. $affiliateID = $_GET['affiliateID'];
  5.  
  6. //hier nog wat script, maar dat heeft er niet mee te maken en dan...
  7.  
  8. if (is_numeric($campagneID) && is_numeric($affiliateID))
  9. {
  10. $query1 = "SELECT titel FROM campagnes WHERE id = ".$campagneID;
  11. $result1 = mysql_query($query1) or die (mysql_error());
  12.  
  13. $query2 = "SELECT naam FROM affiliates WHERE id = ".$affiliateID;
  14. $result2 = mysql_query($query2) or die (mysql_error());
  15.  
  16. if (mysql_num_rows($result1))
  17. {
  18. if (mysql_num_rows($result2))
  19. {
  20. echo('correct');
  21. }
  22. else
  23. {
  24. echo('De affiliate is niet gevonden');
  25. insert_error('click.php','De affiliate is niet gevonden');
  26. send_error_mail();
  27. }
  28. }
  29. else
  30. {
  31. echo('De campagne is niet gevonden');
  32. insert_error('click.php','De campagne is niet gevonden');
  33. send_error_mail();
  34. }
  35.  
  36. }
  37. ?>


als ik
click.php?campaignID=1&affiliateID=1 aanroep krijg ik de fout dat de affiliate niet is gevonden.
als ik
click.php?affiliateID=1&campaignID=1 aanroep krijg ik keurig de melding correct.

Iemand enig idee wat de verklaring kan zijn voor dit vreemde verschijnsel?
Er zijn geen typfouten gemaakt.

6 antwoorden

Gesponsorde links
Offline Wim - 17/01/2008 22:46
Avatar van Wim Crew algemeen if (mysql_num_rows($result1))

vervang het eens naar:
if (mysql_num_rows($result1) > 0)

het is een integer, geen boolean!

Anders bestaan de db records mss niet?
Offline Stefan14 - 17/01/2008 23:09
Avatar van Stefan14 PHP gevorderde
wimmarien schreef:
if (mysql_num_rows($result1))

vervang het eens naar:
if (mysql_num_rows($result1) > 0)

het is een integer, geen boolean!

Anders bestaan de db records mss niet?


je hebt in principe wel gelijk natuurlijk, maar ook als ik het verander naar een vergelijking, dan krijg ik hetzelfde resultaat.

De records bestaan wel, die heb ik er bewust handmatig ingezet.
Offline marten - 17/01/2008 23:16
Avatar van marten Beheerder maak van & eens &amp;
Offline Stefan14 - 17/01/2008 23:35
Avatar van Stefan14 PHP gevorderde nee, maakt het alleen maar erger, dan komt hij met een foutmelding die staat in de else van de
if (is_numeric($campagneID) && is_numeric($affiliateID))
Offline Martijn - 18/01/2008 10:01
Avatar van Martijn Crew PHP als je & naar &amp; doet denkt ie volgens mij ook nog dat je een GET zou kunnen doen voor GET, en een puntkomma in je regel, 
Offline Vincjenzo - 18/01/2008 11:50
Avatar van Vincjenzo Nieuw lid Tussen
click.php?campaignID=1&affiliateID=1
en
click.php?affiliateID=1&campaignID=1
zit geen verschil.
Bewijs:
  1. <a href="click.php?campaignID=1&amp;affiliateID=1">click1</a>
  2. <a href="click.php?affiliateID=1&amp;campaignID=1">click2</a>
  3. <?php
  4.  
  5. if (isset($_GET['campaignID'])) {
  6. $campagneID = $_GET['campaignID'];
  7. }else{
  8. $campagneID = false;
  9. }
  10.  
  11. if (isset($_GET['affiliateID'])) {
  12. $affiliateID = $_GET['affiliateID'];
  13. }else{
  14. $affiliateID = false;
  15. }
  16.  
  17. if (is_numeric($campagneID) && is_numeric($affiliateID))
  18. {
  19. echo 'beide vars zijn numeriek<br>';
  20. /*
  21.   $query1 = "SELECT titel FROM campagnes WHERE id = ".$campagneID;
  22.   $result1 = mysql_query($query1) or die (mysql_error());
  23.  
  24.   $query2 = "SELECT naam FROM affiliates WHERE id = ".$affiliateID;
  25.   $result2 = mysql_query($query2) or die (mysql_error());
  26. */
  27.  
  28. // Voor het gemak gaan we er van uit dat je queries beide 1 resultaat geven
  29. $result1 = 1;
  30. $result2 = 1;
  31.  
  32. if ($result1)
  33. {
  34. if ($result2)
  35. {
  36. echo('correct');
  37. }
  38. else
  39. {
  40. echo('De affiliate is niet gevonden');
  41. //insert_error('click.php','De affiliate is niet gevonden');
  42. //send_error_mail();
  43. }
  44. }
  45. else
  46. {
  47. echo('De campagne is niet gevonden');
  48. //insert_error('click.php','De campagne is niet gevonden');
  49. //send_error_mail();
  50. }
  51. }
  52. ?>


dus het ligt denk ik hieraan:
//hier nog wat script, maar dat heeft er niet mee te maken en dan...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.193s