Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Problem z funkcja if mysql query
Forum PHP.pl > Forum > PHP
Manifested01
funkcja isset działa dobrze problem zaczyna się gdy dochodzi funkcja if mysql_num_rows
chodzi o to że jeśli activation code z tabeli Glosy =1 to znaczy ze juz głos był aktywowany i ma się wyświetlic error
a jesli jest inny niż 1 to ma się wyświetlic reszta strony
teraz jednak działa tylko 1 funkcja a drugą mi omija bez zadnego errora :s
z góry dzięki za pomoc


  1. <?php
  2. include ('lib/dbc.php');
  3. $result = mysql_query("SELECT activation_code FROM Glosy");
  4.  
  5. if (!isset($_GET['usr']) && !isset($_GET['code']) )
  6. {
  7. $msg = "ERROR: Invalid code...";
  8.  
  9. if(mysql_num_rows($result) == 1) {
  10. echo 'penis';
  11.  
  12.  
  13. } else {
  14. echo 'buttsex';
  15.  
  16.  
  17. }
  18.  
  19.  
  20. exit();
  21. }
  22. ?>
mlattari
hmmm.... a tak nie byłoby prościej?

  1. <?php
  2. if(mysql_result(mysql_query("SELECT activation_code as code FROM Glosy;"),0,0)==$code) { echo "pussy"; } else {
  3. echo "dick"; }
  4. ?>


lub prościej

  1. <?php
  2. if(mysql_result(mysql_query("SELECT activation_code as code FROM Glosy;"),0,0)) { echo "cock"; } else {
  3. echo "in my sock"; }
  4. ?>


hehehe
Manifested01
damn nie wiem co sie dzieje jakby ignorowało tą funkcje:

dam cały kod na wszelki wypadek:

  1. <?php
  2.  include('lib/var/header.php');
  3. ?>
  4. <div id="loginbg">
  5. <div id="login">
  6. </div>
  7. </div>
  8.  
  9. <div id="contentbg">
  10.        <div id="content">
  11.  
  12.        <div id="contenttitle">
  13. Aktywacja konta
  14.        </div>
  15.        <div id="contentspacer">
  16.        </div>
  17.        <div id="contenttext">
  18. <?php
  19. include ('lib/dbc.php');
  20.  
  21. if (!isset($_GET['usr']) && !isset($_GET['code']) )
  22. {
  23. $msg = "ERROR: Invalid code...";
  24.  
  25. if(mysql_result(mysql_query("SELECT activation_code as code FROM Glosy;"),0,0)) { echo "cock"; } else {
  26. echo "sock"; }
  27.  
  28.  
  29. exit();
  30. }
  31.  
  32. $rsCode = mysql_query("SELECT activation_code from Glosy where emailglos='$_GET[usr]'") or die(mysql_error());
  33.  
  34. list($acode) = mysql_fetch_array($rsCode);
  35.  
  36. if ($_GET['code'] == $acode)
  37. {
  38.  
  39. mysql_query("update petycje set licznik =licznik+1 where id='$_GET[id]'") or die(mysql_error());
  40.  
  41. mysql_query("update Glosy set user_activated=1 where emailglos='$_GET[usr]'") or die(mysql_error());
  42.  
  43.  
  44.  
  45. echo "<h3>Dziękujemy </h3>Twoje głos zostało aktywowany. </a>";
  46. } else
  47. { echo "Niepoprawny kod"; }
  48.  
  49.  
  50. ?>
  51.  
  52.        </div>
  53.  
  54. <?php
  55.  include('lib/var/footer.php');
  56. ?>


testowałem obie mozliwosci po editach i nic ;/
mlattari
hmm a gdzie WHERE? Chodzi chyba o kod tego usera?
  1. <?php
  2. if(mysql_result(mysql_query("SELECT activation_code as code FROM Glosy WHERE emailglos='{$_GET[usr]}';"),0,0)!='') { echo "cock"; } else {
  3. echo "sock"; }
  4. ?>


lub
  1. <?php
  2. if (mysql_num_rows(mysql_query("SELECT activation_code as code FROM Glosy WHERE emailglos='{$_GET[usr]}' ;" )) == 0) {}
  3. ?>
Manifested01
jednak nie działa :/

  1. <?php
  2. include ('lib/dbc.php');
  3. $result = mysql_query("SELECT user_activated FROM Glosy WHERE emailglos='{$_GET[usr]}'");
  4.  
  5. if (!isset($_GET['usr']) && !isset($_GET['code']) && !isset($_GET['id']) )
  6.  
  7. $msg = "ERROR: Invalid code...";
  8.  
  9. if(mysql_num_rows($result) ==1)
  10. {
  11. die ("Twój głos był już aktywowany.");
  12. }
  13. else
  14.  
  15.  
  16. $rsCode = mysql_query("SELECT activation_code from Glosy where emailglos='$_GET[usr]'") or die(mysql_error());
  17.  
  18. list($acode) = mysql_fetch_array($rsCode);
  19.  
  20. if ($_GET['code'] == $acode)
  21. {
  22.  
  23. mysql_query("update petycje set licznik =licznik+1 where id='$_GET[id]'") or die(mysql_error());
  24.  
  25. mysql_query("update Glosy set user_activated=1 where emailglos='$_GET[usr]'") or die(mysql_error());
  26.  
  27.  
  28.  
  29. echo "<h3>Dziękujemy </h3>Twoje głos zostało aktywowany. </a>";
  30. } else
  31. { echo "Niepoprawny kod"; }
  32.  
  33. exit();
  34.  
  35. ?>


Jak to jest wklejone to jaki kolwiek result by nie był to zawsze pokazuje "Twoj glos byl juz aktywowany" i reszta skryptu się w ogole nie załącza. Kiedy to skasuje to znowu skrypt działa ale po odswiezeniu się oddaje kolejny głos więc to nie ma sensu.

  1. <?php
  2. if(mysql_num_rows($result) ==1)
  3. {
  4. die ("Twój głos był już aktywowany.");
  5. }
  6. else
  7. ?>
mlattari
musisz zrobić porządek w tym skrypcie :-)
sprawdź np. gdzie się zaczyna a gdzie kończy blok else po linijce 14. Brakuje chyba {} :-) A może w tabeli jest jednak jakaś wartość w kolumnie i dlatego ilość mysql_num_rows zwraca 1....
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.