Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Zagnieżdżona instrukcja warunkowa IF (Problem)
eeagle
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 18.11.2014

Ostrzeżenie: (0%)
-----


Witam. Dopiero co poznaję język programowania PHP i mam problem z odpowiednim zagnieżdżeniem instrukcji warunkowej. Proszę o pomoc.
Jest to prosty formularz z instrukcjami sprawdzającymi czy użytkownik wpisał coś i długość wyrazu. Potrzebuję pomocy w jaki sposób dodać warunek że jeżeli wszystkie dane są poprawne do doda mi je do bazy.
Formularz :
  1. <?php
  2. if (isset($_POST["submit"]))
  3. {
  4. // Sprawdzamy, czy użytkownik zaznaczył pole wyboru i ustawiamy wartość
  5. // odpowiedniej zmiennej
  6. $mailing = false;
  7. if (isset($_POST["mailing"]))
  8. $mailing = true;
  9. // Wyświetlamy formularz z wpisanymi wartościami poszczególnych pól
  10. formularz($_POST["imie"], $_POST["nazwisko"], $mailing);
  11.  
  12. if (empty($_POST["imie"])) { echo "Nie wypełniłeś pola <strong>Imię !</strong><br/>"; }
  13. elseif (strlen($_POST["imie"]) > 20){echo "Za długie Imię - max. 20 znaków <br/>";}
  14. else echo "";
  15.  
  16. if (empty($_POST["nazwisko"])) { echo "Nie wypełniłeś pola <strong>Nazwisko !</strong><br/>"; }
  17. elseif (strlen($_POST["nazwisko"]) > 20){echo "Za długie nazwisko - max. 20 znaków <br/>";}
  18. else echo "";
  19. }
  20. else
  21. {
  22. formularz();
  23. }
  24. ?>


Instrukcja dodająca dane do bazy:
  1. $connection = @mysql_connect('localhost', 'root', '')
  2. or die('Brak połączenia z serwerem MySQL');
  3. $db = @mysql_select_db('baza', $connection)
  4. or die('Nie mogę połączyć się z bazą danych');
  5. $ins = @mysql_query("INSERT INTO users SET imie='$_POST[imie]' , nazwisko='$_POST[nazwisko]',mailing='$_POST[mailing]' ");
  6.  
  7. echo 'Dane zostały przesłane poprawnie.</br>';
  8. echo 'W ciągu 2dni otrzymasz na podany adres email potwierdzenie przyjęcia zgłoszenia.';

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
eeagle
post
Post #2





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 18.11.2014

Ostrzeżenie: (0%)
-----


Ok, wykombinowałem coś takiego :

  1. <?php
  2. if (isset($_POST["submit"]))
  3. {
  4. // Sprawdzamy, czy użytkownik zaznaczył pole wyboru i ustawiamy wartość
  5. // odpowiedniej zmiennej
  6. $mailing = false;
  7. if (isset($_POST["mailing"]))
  8. $mailing = true;
  9. // Wyświetlamy formularz z wpisanymi wartościami poszczególnych pól
  10. formularz($_POST["imie"], $_POST["nazwisko"], $mailing);
  11.  
  12. if (empty($_POST["imie"])) { echo "Nie wypełniłeś pola <strong>Imię !</strong><br/>"; }
  13. elseif (strlen($_POST["imie"]) > 20){echo "Za długie Imię - max. 20 znaków <br/>";}
  14. elseif (empty($_POST["nazwisko"])) { echo "Nie wypełniłeś pola <strong>Nazwisko !</strong><br/>"; }
  15. elseif (strlen($_POST["nazwisko"]) > 20){echo "Za długie nazwisko - max. 20 znaków <br/>";}
  16. else {
  17.  
  18. $result = mysql_query("SELECT 'imie' FROM 'users' WHERE 'imie' = '{$_POST['imie']}'");
  19. $row = mysql_num_rows($result);
  20. if($row[0] > 0) {
  21. echo '<p>Już istnieje użytkownik z takim imieniem.</p>';
  22. } else {
  23. $connection = @mysql_connect('localhost', 'root', '')
  24. or die('Brak połączenia z serwerem MySQL');
  25. $db = @mysql_select_db('gwarancja', $connection)
  26. or die('Nie mogę połączyć się z bazą danych');
  27. $ins = @mysql_query("INSERT INTO users SET imie='$_POST[imie]' , nazwisko='$_POST[nazwisko]', mailing='$_POST[mailing]' ");
  28.  
  29. echo 'Dane zostały przesłane poprawnie.</br>';
  30. echo 'W ciągu 2dni otrzymasz na podany adres email potwierdzenie przyjęcia zgłoszenia.';
  31. }
  32.  
  33. }
  34.  
  35. }
  36. else
  37. {
  38. formularz();
  39. }
  40.  
  41.  
  42. ?>

Natomiast otrzymuje błąd :

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\test3\test.php on line 70
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 06:29