Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] "Musisz wypełnić wszystkie pola!" funkcja !empty
Kerth
post 24.03.2013, 12:12:06
Post #1





Grupa: Zarejestrowani
Postów: 250
Pomógł: 1
Dołączył: 6.08.2012

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


Cześć,
mam pytanie jak zrobić coś takiego, że po kliknięciu "Zarejestruj" i w polach nie ma wpisanego tekstu pojawia się komunikat:

"Musisz wypełnić wszystkie pola!"

Mam taki kod:

  1. if (!empty($nick) && !empty($email) && !empty($haslo) && !empty($haslo2) )
  2. {
  3.  
  4. if ( !filter_var($email, FILTER_VALIDATE_EMAIL) )
  5. {
  6. echo "<br><b><font color = red>E-mail nie jest prawidłowy! </font></b></br>";
  7. }
  8. $nazwazajeta = mysql_query("SELECT * FROM `GRACZE` WHERE `nick` = '$nick'");
  9. if (mysql_num_rows($nazwazajeta) <> 0)
  10. {
  11. echo "<br><b><font color = red>Podana nazwa użytkownika jest już zajęta!</font></b></br>";
  12. }
  13. $emailzajety = mysql_query("SELECT * FROM `GRACZE` WHERE `email` = '$email'");
  14. if (mysql_num_rows($emailzajety) <> 0)
  15. {
  16. echo "<br><b><font color = red>Ten e-mail jest już w użyciu!</font></b></br>";
  17. }
  18. else
  19. {
  20. mysql_query("INSERT INTO `GRACZE` (`nick`, `email`, `haslo`, `haslo2`) VALUES ('$nick', '$email', '$haslo', '$haslo2')") or die(mysql_error());
  21. echo "<b><font color= green>Zostałeś pomyślnie zarejestrowany.</color></b>";
  22. }
  23. else
  24. {
  25. echo "<br><b><font color= red>Musisz wypełnić wszystkie pola!</font></b><br>";
  26. }




Część kodu wyciąłem(nie będę zamieszczać całości) Ale to jest najważniejsze.
I tak problem w aktualnym kodzie jest taki, że po uruchomieniu pliku register.php od razu wysyła komunikat o tym,żeby wypełnić wszystkie pola. A ja chciałbym, żeby się to działo dopiero po kliknięciu i jeśli nie wpisano danych.
Czy może mi ktoś pomóc?

Próbowałem też tak ale nic nie daje:

  1. if (preg_match("@^$@", $_POST['nick'])){
  2. echo "<center><b><font color= red>Musisz wypełnić wszystkie pola!</font></b><br></center>";
  3. } else {
  4. echo "<center><b><font color= red>Musisz wypełnić wszystkie pola!</font></b><br></center>";
  5. }


Ten post edytował Kerth 24.03.2013, 12:15:12
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Michael2318
post 24.03.2013, 12:54:33
Post #2





Grupa: Zarejestrowani
Postów: 651
Pomógł: 116
Dołączył: 3.06.2012
Skąd: Lędziny

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


Do sprawdzenia czy tablica $_POST jest pusta używamy funkcji empty, która zwróci TRUE jeśli pole jest puste, bądź też false jeśli coś tam jest wpisane.

Pytasz jak zrobić aby bład wypluwało dopiero po wpisaniu danych. Najprościej sprawdzać czy pole submit zostało już kliknięte.

  1. if ( !isset($_POST['submit']) ) // jeśli nie kliknięto submit
  2. {
  3. echo '<form action="plik.php" method="post">
  4. <input type="text" name="testowy"><br>
  5. <input type="submit" name="submit" value="Dalej">
  6. </form>'; // wyświetlamy formularz
  7. }
  8. else // jesli kliknieto submit to sprawdzamy dane
  9. {
  10. if ( empty($_POST['testowy']) ) // jesli pole 'testowy' jest puste to...
  11. {
  12. die('pole jest puste! uzupelnij je!');
  13. }
  14. else
  15. {
  16. echo 'pole jest uzupelnione, brawo!';
  17. }
  18. }


Ten post edytował Michael2318 24.03.2013, 12:58:06
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 13:53