Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Skrypt sprawdzający czy pola $_POST są puste
slawiz
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 27.06.2012

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


Witam chciał bym się zapytać czy takie rozwiązanie sprawdzania czy $_POST jest poste jest poprawne:

  1. $danepost = array('1'=>'name','description','welcome');
  2. for($x = 1; $x <= count($danepost); $x++)
  3. {
  4. if(empty($_POST[$danepost[$x]]) == true)
  5. {
  6. $errordane = 1;
  7. }
  8. }
  9.  
  10. if($errordane == 1)
  11. {
  12. $errors = 1;
  13. echo '<div id="add">Error Sprawdz czy podane dane są prawidłowe <a href="index.php?admin='.$admin.'&now='.$now.'">Cofnij</a></div>';
  14. }


Czy dało by się zapisać to krócej, wykluczając przy tym takie rozwiązanie:

  1. empty($_POST['name']) == true or empty($_POST['phone']) == true
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Zielonkawy18
post
Post #2





Grupa: Zarejestrowani
Postów: 152
Pomógł: 4
Dołączył: 4.10.2012

Ostrzeżenie: (10%)
X----


Ja bym sprawdził czy dane pole jest puste tak:

  1. strlen(trim($zmienna))==0


Czyli zagnieżdżamy 2 funkcje:

strlen - sprawdza długość stringa,
trim - usuwa spacje na początku i końcu stringa.

Ten post edytował Zielonkawy18 27.10.2012, 10:41:36
Go to the top of the page
+Quote Post
slawiz
post
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 27.06.2012

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


Ale mi chodzi o to żeby sprawdził wszystkie wysłane $_POST od razu żebym nie musiał pisać do każdego osobno, a żeby wywalał bład jeśli przynajmniej 1 jest pusty.
Go to the top of the page
+Quote Post
Zielonkawy18
post
Post #4





Grupa: Zarejestrowani
Postów: 152
Pomógł: 4
Dołączył: 4.10.2012

Ostrzeżenie: (10%)
X----


Ok, zadam pytanie, Twój algorytm działa?
Go to the top of the page
+Quote Post
slawiz
post
Post #5





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 27.06.2012

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


Tak ale chciał bym go uprościć.
Go to the top of the page
+Quote Post
Zielonkawy18
post
Post #6





Grupa: Zarejestrowani
Postów: 152
Pomógł: 4
Dołączył: 4.10.2012

Ostrzeżenie: (10%)
X----


Moim zdaniem ( przedszkolak w PHP ) nie da się uprosicić, da się go "upiększyć" czyli napisać funkcję isEmpty() oraz checkField($x) i Message().

Większa kontrola, nie ma burdelu. I zastanów się jakiego języka używasz w kodzeniu ( niby standardem jest angielski ) ale jak już uciekasz od tego używa polskich nazw.
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #7





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


  1. $emptyVals = array();
  2. foreach ($_POST as $key=>$value) {
  3. if (empty($value)) $emptyVals[] = $key; // jeśli istnieje konieczność zapamiętania pustych pól
  4. }
  5.  
  6. // jeśli tablica $emptyVals będzie większa od 0, znaczy to, że przesłano puste wartości, najprostsze sprawdzenie:
  7. if (sizeof($emptyVals)>0)) echo 'formularz zawiera puste pola';
  8.  
  9. // jeśli chcesz wyświetlić które pola użytkownik zostawił puste:
  10. foreach ($emptyVals as $value) echo $value.'<br/>';


Ten post edytował b4rt3kk 27.10.2012, 11:25:54
Go to the top of the page
+Quote Post

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: 25.12.2025 - 05:00