Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Formularz czasami przychodzi całkiem pusty
maniana7
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 19.10.2017

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


Witam.
Mam formularz wysyłany za pomocą skryptu.php na mejla. Wszystko działało ok.
W ostatnich tygodniach coraz częściej zamiast wypełnionego formularza przychodzi formularz całkowicie pusty tj. wszystkie pola są puste a wiem od ludzi wysyłających formularz, że został wypełniony. Są tam checkobx-y i input-y.
Żeby móc wysłać formularz trzeba wypełnić wymagane pola (required) więc teoretycznie bez tego nie powinien zostać wysłany a dochodzi.
Na 8 wypełnionych prawidłowo przychodzą 2 całkiem puste.
Gdzie może leżeć tego przyczyna?
Pozdrawiam

Ten post edytował maniana7 13.05.2019, 15:44:27
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dublinka
post
Post #2





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


Mozesz sprawdzac kazde pole warunkami poprzez:
  1. if( ($zmienna1 =! "") || ($zmienna2 =! "") || ($zmienna3 =! "") )
  2.  
  3. {
  4. }
  5.  


ale to toporne rozwiazanie. Przy kliku zmiennych ok ale jak sie ma ich kilkanascie to słabo to wygląda. Jeszcze gorzej jak dla kazdej zmiennej trzebabuy wyswietlic z osobna informacje.

. To jest szybsze i krotsze. Oczywiscie do wyswietlenia kazdego z bledów nalezaloby nieco zmienic (przyklad 2). Ten przyklad wyswietli tylko informacje ze chocby jedno pole jest puste
  1. <?php
  2.  
  3.  
  4.  
  5. if(!isset($_POST['submit']))
  6. {
  7.  
  8. echo "<form action " . $_SERVER['SCRIPT_NAME'] . " method=post>";
  9. echo "<input type=\"text\" name=\"pole1\"><br>";
  10. echo "<input type=\"text\" name=\"pole2\"><br>";
  11. echo "<input type=\"text\" name=\"pole3\"><br>";
  12. echo "<input type=\"text\" name=\"pole4\"><br>";
  13. echo "<input type=\"submit\" name=\"submit\" value=\"dalej\"><br>";
  14.  
  15.  
  16. } else {
  17.  
  18. unset($submit);
  19. $myPostArgs = filter_input_array(INPUT_POST);
  20.  
  21. foreach($myPostArgs as $key => $value)
  22. {
  23.  
  24. if(trim($value) == "")
  25. {
  26.  
  27. exit('wypelnij wszystkie pola');
  28.  
  29. }
  30.  
  31. }
  32.  
  33. }
  34.  
  35.  
  36.  
  37. ?>


Tutaj przykla gdzie wyswietlaja sie kazde błędy.W tym momencie przyklad jest oparty na glownym warunku i osadzony w jednym pliku. Warunek sprawdza czy polsano zmienna $submit i jesli nie to wyswietla sie formularz a jak tak czyli jak wcisniesz przycisk wykonuje sie reszta kodu. Jelsi bedziesz mial dwa pliki z czego w jednym formularz a w drugim kod do sprawdzenia i cala resztew to trzeba zmienic kilka rzeczy. Na pewno usunac formularz (IMG:style_emoticons/default/smile.gif) ) Przyklad na dwa pliki na samym koncu

  1. <?php
  2.  
  3.  
  4. if(!isset($_POST['submit']))
  5. {
  6.  
  7.  
  8.  
  9. echo "<form action " . $_SERVER['SCRIPT_NAME'] . " method=post>";
  10. echo "<input type=\"text\" name=\"login\"><br>";
  11. echo "<input type=\"text\" name=\"haslo\"><br>";
  12. echo "<input type=\"text\" name=\"plec\"><br>";
  13. echo "<input type=\"text\" name=\"wiek\"><br>";
  14. echo "<input type=\"submit\" name=\"submit\" value=\"dalej\"><br>";
  15.  
  16. }
  17.  
  18. $ArrInfo = array('login' => 'Wypelnij pole login',
  19. 'haslo' => 'Wypelnij pole haslo',
  20. 'plec' => 'Wypelnij pole plec',
  21. 'wiek' => 'Wypelnij pole wiek'
  22. );
  23.  
  24. unset($submit);
  25. $myPostArgs = filter_input_array(INPUT_POST);
  26. $return = array();
  27. foreach($myPostArgs as $key => $value)
  28. {
  29.  
  30. if(trim($value) == "")
  31. {
  32.  
  33. $return[] = $ArrInfo[$key];
  34.  
  35. $match = true;
  36.  
  37.  
  38. }
  39.  
  40. }
  41.  
  42.  
  43. if(isset($match))
  44. {
  45. print 'Znaleziono błędy: <br>';
  46.  
  47. for($i=0; $i<count($return); $i++)
  48. {
  49.  
  50. print ($return[$i] . '<br>');
  51.  
  52. }
  53.  
  54. }
  55. print 'Tutaj reszta kodu jak pola zostaly wypelnione';
  56. ?>


Osadz jeden z tych kodów (jesli drugi to uzupełnij tablice pomocniczą kluczami i wartosciami) przed tym co masz przepuscic dalej. Dodaj name=submit do swojego submita w formularzu.

Przykład 3 na dwa pliki ((osobno z formularzem i osobno plik z resztą kodu) plik do ktorego bedzie kierowal formularz:


  1.  
  2. <?php
  3.  
  4.  
  5. if(!isset($_POST['submit']))
  6. {
  7.  
  8. exit('wystąpił błąd');
  9.  
  10.  
  11. }
  12.  
  13. $ArrInfo = array('login' => 'Wypelnij pole: login',
  14. 'haslo' => 'Wypelnij pole: haslo',
  15. 'plec' => 'Wypelnij pole: plec',
  16. 'wiek' => 'Wypelnij pole: wiek'
  17. );
  18.  
  19. unset($submit);
  20. $myPostArgs = filter_input_array(INPUT_POST);
  21. $return = array();
  22. foreach($myPostArgs as $key => $value)
  23. {
  24.  
  25. if(trim($value) == "")
  26. {
  27.  
  28. $return = $ArrInfo[$key];
  29.  
  30. $match = true;
  31.  
  32.  
  33. }
  34.  
  35. }
  36.  
  37.  
  38. if(isset($match))
  39. {
  40. print 'Znaleziono błędy: <br>';
  41.  
  42. for($i=0; $i<count($return); $i++)
  43. {
  44.  
  45. print ($return[$i] . '<br>');
  46.  
  47. }
  48.  
  49. }
  50.  
  51. print 'Tutaj reszta kodu jak pola zostaly wypelnione';
  52.  
  53.  
  54. ?>


Ten post edytował dublinka 15.05.2019, 15:22:27
Go to the top of the page
+Quote Post

Posty w temacie
- maniana7   Formularz czasami przychodzi całkiem pusty   13.05.2019, 14:55:04
- - dublinka   Wszystkie przychodza puste zawsze ?   13.05.2019, 16:51:50
- - maniana7   Problem dotyczy około 15-20% formularzy, które doc...   13.05.2019, 19:03:43
- - Tomplus   Sprawdź z jakich przeglądarek są wysyłane te puste...   13.05.2019, 19:25:13
- - adbacz   Zasadnicze pytanie - kiedy robisz walidację wprowa...   13.05.2019, 19:31:36
- - maniana7   Nie mam walidacji pól Sorki, mogłem o tym wspomni...   13.05.2019, 19:45:54
- - adbacz   Nie sądzę by to była wina przeglądarki jakkolwiek....   13.05.2019, 20:02:31
- - dublinka   Cytat(maniana7 @ 13.05.2019, 20:45:54...   13.05.2019, 20:59:03
- - maniana7   Będzie off top ale czy pomoże ktoś z modyfikacją s...   14.05.2019, 10:09:51
- - dublinka   Mozesz sprawdzac kazde pole warunkami poprzez: [PH...   15.05.2019, 11:08:24
- - Pyton_000   Cytat$submit = @$_POST['submit']...   15.05.2019, 12:37:21
- - dublinka   Cytat(Pyton_000 @ 15.05.2019, 13:37:2...   15.05.2019, 13:17:35
|- - Pyton_000   Cytat(dublinka @ 15.05.2019, 14:17:35...   15.05.2019, 13:47:43
- - maniana7   Dzięki za propozycję. Ta cała walidacja trochę mni...   15.05.2019, 13:26:46
- - nospor   CytatCo Ty nie powiesz. Anulowanie wyswietlenia w ...   15.05.2019, 13:40:12
|- - dublinka   Cytat(nospor @ 15.05.2019, 14:40:12 )...   15.05.2019, 13:45:49
- - nospor   [PHP] pobierz, plaintext $submit = @$_POST['su...   15.05.2019, 13:46:05
|- - dublinka   Cytat(nospor @ 15.05.2019, 14:46:05 )...   15.05.2019, 13:48:21
- - maniana7   Dajcie spokój. Po cholerę te przepychanki i dogryz...   15.05.2019, 13:50:02
|- - dublinka   Cytat(maniana7 @ 15.05.2019, 14:50:02...   15.05.2019, 13:54:19
- - nospor   @maniana juz ci pisalem ze takie zabepzieczenia sa...   15.05.2019, 13:51:23
|- - maniana7   Cytat(nospor @ 15.05.2019, 14:51:23 )...   15.05.2019, 14:22:41
- - nospor   @dublinka akurat te parametry nie sa obslugiwane p...   15.05.2019, 14:01:17
- - dublinka   To co masz czyli: [PHP] pobierz, plaintext $do = ...   15.05.2019, 14:06:33
- - nospor   CytatMnie ogolnie chodzilo o blokowanie przez js Z...   15.05.2019, 14:11:31
|- - dublinka   Cytat(nospor @ 15.05.2019, 15:11:31 )...   15.05.2019, 15:06:28
- - nospor   CytatO pattern="^[0-9]{2}-[0-9]{3}$...   15.05.2019, 14:28:11
|- - maniana7   Cytat(nospor @ 15.05.2019, 15:28:11 )...   15.05.2019, 14:36:29
|- - jaca121212   Cytat(maniana7 @ 15.05.2019, 15:36:29...   15.05.2019, 15:10:26
- - maniana7   O Jezusiczku... racja, przecinek A i jeszcze mus...   15.05.2019, 15:16:44
|- - dublinka   Cytat(maniana7 @ 15.05.2019, 16:16:44...   15.05.2019, 15:20:46
- - maniana7   Odnośnie buttona WYŚLIJ to mam w htmlu coś takiego...   15.05.2019, 15:36:30
|- - dublinka   Cytat(maniana7 @ 15.05.2019, 16:36:30...   15.05.2019, 16:17:17
- - maniana7   Działa piknie! Trzeba było z pracy w końcu wyj...   15.05.2019, 18:06:43
|- - dublinka   Cytat(maniana7 @ 15.05.2019, 19:06:43...   15.05.2019, 18:57:32
|- - maniana7   Cytat(dublinka @ 15.05.2019, 19:57:32...   15.05.2019, 19:56:30
|- - dublinka   Cytat(maniana7 @ 15.05.2019, 20:56:30...   15.05.2019, 20:42:57
|- - Pyton_000   Cytat(dublinka @ 15.05.2019, 21:42:57...   16.05.2019, 09:30:03
|- - dublinka   Cytat(Pyton_000 @ 16.05.2019, 10:30:0...   16.05.2019, 13:47:19
- - maniana7   A jest jakiś sposób na umieszczenie na tej "s...   15.05.2019, 19:46:16
|- - dublinka   Cytat(maniana7 @ 15.05.2019, 20:46:16...   15.05.2019, 19:54:59
- - maniana7   Dzięki. Wezmę się za to ale nie dziś. Wracając do...   15.05.2019, 21:45:50
- - dublinka   Ty chyba nie czytasz tego co sie pisze. Dalem kom...   16.05.2019, 05:56:55
|- - maniana7   Cytat(dublinka @ 16.05.2019, 06:56:55...   16.05.2019, 11:32:22
- - nospor   Pokaz aktualny kod. Byloby rowniez BARDZO milo ja...   16.05.2019, 11:37:29
- - maniana7   [PHP] pobierz, plaintext <?php   if...   16.05.2019, 11:45:31
- - nospor   1) w kodzie nadal masz telefon w tablicy wiec nie ...   16.05.2019, 11:51:08
- - maniana7   Zapomniałem usunąć telefon, sorki. Jasne, że go ta...   16.05.2019, 11:53:49
- - dublinka   Cytat(maniana7 @ 16.05.2019, 12:53:49...   16.05.2019, 12:45:52
- - maniana7   Tak, zostaje kwestia filtrowania pól, o której kil...   16.05.2019, 13:22:26
- - maniana7   Dodam, że złapałem kontakt z gościem, który jakiś ...   16.05.2019, 19:06:19
- - dublinka   Cytat(maniana7 @ 16.05.2019, 20:06:19...   16.05.2019, 21:13:47


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 Aktualny czas: 7.10.2025 - 00:36