Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Problem z if oraz else
Forum PHP.pl > Forum > Przedszkole
bartek4175
Mój problem tkwi w tym:

Gdy wpiszę dobrze wyskakuje:
  1. Kod został wprowadzony pomyślnie! Dziękujemy za zapisanie się do bazy!

Gdy wpiszę źle nic nie wyskakuje a ma wyskakiwać:
  1. Kod aktywacyjny oraz mail jest nieprawidłowy!


Kod:
  1. <?
  2. require_once("admin/config.php");
  3. ?>
  4. <!DOCTYPE HTML>
  5. <HTML>
  6. <link rel="stylesheet" type="text/css" href="style/style.css" />
  7. <meta charset='utf-8'>
  8. <title>System Mailingu By Bartek4175</title>
  9. </HTML>
  10. <body>
  11. <center>
  12. <?
  13. $kod = $_GET['kod'];
  14. $mail = $_GET['mail'];
  15. $kod_baza = mysql_query("SELECT `kod` FROM `uzytkownicy` WHERE `kod` = '$kod' limit 1") or die(mysql_error());
  16.  
  17. while($r = mysql_fetch_assoc($kod_baza)) {
  18.  
  19. $mail_baza = mysql_query("SELECT `mail` FROM `uzytkownicy` WHERE `mail` = '$mail' limit 1") or die(mysql_error());
  20. while($rr = mysql_fetch_assoc($mail_baza)) {
  21.  
  22. if($kod == $r[kod] && $mail == $rr[mail]) {
  23.  
  24. echo "<b>Kod został wprowadzony pomyślnie! Dziękujemy za zapisanie się do bazy!</b>";
  25. mysql_query("UPDATE uzytkownicy SET `grupa` = '34' WHERE `kod` = '$rr[mail]'") or die(mysql_error());
  26.  
  27. } else {
  28. echo "<b>Kod aktywacyjny oraz mail jest nieprawidłowy!</b>";
  29. }} }
  30. ?>
  31. </center>
  32. </body>
Turson
Na początek proponuję włączyć raportowanie błędów.
bartek4175
Cytat(Turson @ 30.05.2014, 12:14:52 ) *
Na początek proponuję włączyć raportowanie błędów.

Błędy:

Notice: Use of undefined constant kod - assumed 'kod' in xxx/aktywacja.php on line 24

Notice: Use of undefined constant mail - assumed 'mail' in xxx/aktywacja.php on line 24
Turson
Chyba umiesz poprawić?
Kolejna sprawa, wypadałoby wyprintować tablicę $_GET i sprawdzić ją, ponadto SQL Injection jak na życzenie
bartek4175
Cytat(Turson @ 30.05.2014, 12:23:57 ) *
Chyba umiesz poprawić?
Kolejna sprawa, wypadałoby wyprintować tablicę $_GET i sprawdzić ją, ponadto SQL Injection jak na życzenie

poprawiłem i nie ma błędów.
KOD:
  1. <?
  2. ini_set('display_errors', 1);
  3. require_once("admin/config.php");
  4. ?>
  5. <!DOCTYPE HTML>
  6. <HTML>
  7. <link rel="stylesheet" type="text/css" href="style/style.css" />
  8. <meta charset='utf-8'>
  9. <title>System Mailingu By Bartek4175</title>
  10. </HTML>
  11. <body>
  12. <center>
  13. <?
  14. $kod = $_GET['kod'];
  15. $mail = $_GET['mail'];
  16. $kod_baza = mysql_query("SELECT `kod` FROM `uzytkownicy` WHERE `kod` = '$kod' limit 1") or die(mysql_error());
  17.  
  18. while($r = mysql_fetch_assoc($kod_baza)) {
  19.  
  20. $mail_baza = mysql_query("SELECT `mail` FROM `uzytkownicy` WHERE `mail` = '$mail' limit 1") or die(mysql_error());
  21. while($rr = mysql_fetch_assoc($mail_baza)) {
  22.  
  23. if($kod == $r['kod'] && $mail == $rr['mail']) {
  24.  
  25. echo "<b>Kod został wprowadzony pomyślnie! Dziękujemy za zapisanie się do bazy!</b>";
  26. mysql_query("UPDATE uzytkownicy SET `grupa` = '34' WHERE `kod` = '$rr[mail]'") or die(mysql_error());
  27.  
  28. } else {
  29. echo "<b>Kod aktywacyjny oraz mail jest nieprawidłowy!</b>";
  30. }} }
  31. ?>
  32. </center>
  33. </body>


ale nadal jak złe wpisze to pusto
Turson
1. Nie używaj <? a <?php
2. Robisz 2 zapytania do tej samej tabli
3. Zapytania robisz w 2 pętlach ohmy.gif
4. Dbaj o ładny kod
  1. <?php
  2. $kod = $_GET['kod'];
  3. $mail = $_GET['mail'];
  4. $query = mysql_query("SELECT COUNT(`kod`) AS ile FROM `uzytkownicy` WHERE `kod` = '$kod' AND `mail` = '$mail' limit 1") or die(mysql_error());
  5. $row = mysql_fetch_assoc($query);
  6. if($row['ile']==1){
  7. echo "<b>Kod został wprowadzony pomyślnie! Dziękujemy za zapisanie się do bazy!</b>";
  8. mysql_query("UPDATE uzytkownicy SET `grupa` = '34' WHERE `kod` = '$rr[mail]'") or die(mysql_error());
  9. }
  10. else{
  11. echo "<b>Kod aktywacyjny oraz mail jest nieprawidłowy!</b>";
  12. }
  13. ?>
bartek4175
Cytat(Turson @ 30.05.2014, 12:33:26 ) *
1. Nie używaj <? a <?php
2. Robisz 2 zapytania do tej samej tabli
3. Zapytania robisz w 2 pętlach ohmy.gif
4. Dbaj o ładny kod
  1. <?php
  2. ...
  3. ?>


Dzięki wszystko działa smile.gif

Do zamknięcia smile.gif
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.