Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [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
kayman
post 24.03.2013, 12:18:25
Post #2





Grupa: Zarejestrowani
Postów: 556
Pomógł: 40
Dołączył: 20.07.2012
Skąd: Warszawa

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


na moje błąd nie jest w tym kodzie tylko w czymś co wywołuje ten kod bo nie sprawdza tablicy $_POST jak się należy
Go to the top of the page
+Quote Post
Michael2318
post 24.03.2013, 12:54:33
Post #3





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
-Marine-
post 24.03.2013, 12:55:05
Post #4





Goście







  1. if (!$nick || !$email || !$haslo || !$haslo2) $errors .= '- Musisz wypełnić wszystkie pola<br />';


Później wyświetl sobie $errors gdzie chcesz aby pokazał się błąd.

Jeżeli nie zadziała sprawdź przez echo czy zmienne są w ogóle przesyłane.
Go to the top of the page
+Quote Post
Wazniak96
post 24.03.2013, 13:14:17
Post #5





Grupa: Zarejestrowani
Postów: 550
Pomógł: 75
Dołączył: 5.06.2012
Skąd: Lębork

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


Funkcja isset, empty sprawdza jedynie czy dany ciąg jest pusty, isset sprawdza czy zmienna istnieje. smile.gif
Go to the top of the page
+Quote Post
Posio
post 24.03.2013, 23:49:47
Post #6





Grupa: Zarejestrowani
Postów: 417
Pomógł: 44
Dołączył: 23.06.2011

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


  1. if(isset($a) && !empty($a)) { }


+ to, że wszystkie akcje kodu php wykonujesz przed wyświetleniem HTMLA smile.gif

Ten post edytował Posio 24.03.2013, 23:50:34
Go to the top of the page
+Quote Post

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: 20.07.2025 - 10:21