Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Walidacja danych z formularza
Forum PHP.pl > Forum > Przedszkole
Sampo511
Witam Mama następuj±cy problem: w kodzie poniżej(nie jest to cało¶ć) robię walidację formularza i problem jest w tym, że je¶li wpiszę poprawn± dan± w pole Imię(jest to pierwsze pole formularza) a następne s± puste to zostaję przeniesiony na następn± stronę pomimo tego, że nie wszystkie pola s± wypełnione tzn. powinien wrócić na stronę pierwsz± , gdy pole pierwsze nie jest w ogóle wypełnione a wypełnione s± wszystkie inne pola oprócz tego(Imię) to jest OK robi walidację. Proszę o jak±¶ wskazówkę bo nie wiem co jest grane:

pierwszy.php
  1. <?php
  2.  
  3.  
  4. $blad1=$_REQUEST['blad1'];
  5. $blad2=$_REQUEST['blad2'];
  6. $blad3=$_REQUEST['blad3'];
  7. $blad4=$_REQUEST['blad4'];
  8. $blad5=$_REQUEST['blad5'];
  9. $blad6=$_REQUEST['blad6'];
  10. $blad7=$_REQUEST['blad7'];
  11. $blad8=$_REQUEST['blad8'];
  12. $blad9=$_REQUEST['blad9'];
  13. $blad10=$_REQUEST['blad10'];
  14. $blad11=$_REQUEST['blad11'];
  15.  
  16. if($blad1=="imie"){
  17.  $wiad1="<p align=\"center\"><font color=\"red\"><b>Nie podano IMIĘ</font></b></p>";
  18. }
  19. else {
  20.  $wiad1a="$blad1";
  21.  }
  22.  
  23.  
  24. if($blad2=="nazwisko"){
  25. $wiad2="<p align=\"center\"><font color=\"red\"><b>Nie podano NAZWISKO</font></b></p>";
  26. }
  27. else {
  28.  $wiad2a="$blad2";
  29.  }
  30.  
  31. if($blad3=="adres"){
  32. $wiad3="<p align=\"center\"><font color=\"red\"><b>Nie podano ADRES</font></b></p>";
  33.  }
  34.  else {
  35.  $wiad3a="$blad3";
  36.  }
  37. if($blad4=="adres2"){
  38. $wiad10="<p align=\"center\"><font color=\"red\"><b>Nie podano ADRES2</font></b></p>";
  39.  }
  40.  else {
  41.  $wiad10a="$blad4";
  42.  }
  43.  
  44. if($blad5=="miasto"){
  45. $wiad4="<p align=\"center\"><font color=\"red\"><b>Nie podano MIASTO</font></b></p>";
  46.  }
  47.  else {
  48.  $wiad4a="$blad5";
  49.  }
  50. if($blad6=="wojewodztwo"){
  51. $wiad5="<p align=\"center\"><font color=\"red\"><b>Nie podano WOJEWODZTWO</font></b></p>";
  52.  }
  53. else {
  54.  $wiad5a="$blad6";
  55.  }
  56. if($blad7=="kod_pocztowy"){
  57. $wiad6="<p align=\"center\"><font color=\"red\"><b>Nie podano KOD POCZTOWY (XX-XXX)</font></b></p>";
  58.  }
  59.  else {
  60.  $wiad6a="$blad7";
  61.  }
  62.  
  63. if($blad8=="num_telefon"){
  64. $wiad7="<p align=\"center\"><font color=\"red\"><b>Nie podano NUMER TELEFONU (XXX XXX-XX-XX lub XXXXXXXXX)</font></b></p>";
  65.  }
  66.  else {
  67.  $wiad7a="$blad8";
  68.  }
  69.  
  70. if($blad9=="num_faksu"){
  71. $wiad8="<p align=\"center\"><font color=\"red\"><b>Nie podano NUMER FAKSU (XXX XXX-XX-XX)</font></b></p>";
  72. }
  73. else {
  74.  $wiad8a="$blad9";
  75.  }
  76.  
  77. if($blad10=="email"){
  78. $wiad9="<p align=\"center\"><font color=\"red\"><b>Nie podano EMAIL</font></b></p>";
  79.  }
  80.  else {
  81.  $wiad9a="$blad10";
  82.  }
  83. if($blad11=="transport"){
  84. $wiad11="<p align=\"center\"><font color=\"red\"><b>Nie wybrano TRANSPORTU</font></b></p>";
  85.  }
  86.  else {
  87.  $wiad11a="$blad11";
  88.  }
  89. ?>



drugi.php

  1. <?php
  2. $connect=mysql_connect("localhost", "root", "php5") or die ("SprawdĽ połaczeni z baz± danych.");
  3. mysql_select_db("bazasklep");
  4.  
  5. trim(($_POST['Imie']) and ($_POST['Nazwisko'])and($_POST['kod_pocztowy'])and($_POST['email']));
  6.  
  7. $imie=$_POST['Imie'];
  8. $nazwisko=$_POST['Nazwisko'];
  9. $adres=$_POST['Adres_kup'];
  10. $adres2=$_POST['Adres_kup2'];
  11. $miasto=$_POST['Miasto'];
  12. $wojewodztwo=$_POST['wojewodztwo'];
  13. $kod_pocztowy=$_POST['kod_pocztowy'];
  14. $num_telefon=$_POST['num_telefon'];
  15. $num_faksu=$_POST['num_faksu'];
  16. $email=$_POST['email'];
  17. $transport=$_POST['transport'];
  18.  
  19. if(!eregi('^[a-z±ćęłń󶿼]{3,} ,$imie)){
  20. $blad1="blad1=imie";
  21. }
  22. else{
  23. $blad1="blad1=".$imie;
  24. }
  25. if(!eregi('^[a-z±ćęłń󶿼-]+ ,$nazwisko)){
  26. $blad2.="&blad2=nazwisko";
  27.  
  28. }
  29. else{
  30. $blad2.="&blad2=".$nazwisko;
  31. }
  32. if(!eregi('^[a-z0-9±ćęłń󶿼 /-]+ ,$adres)){
  33. $blad3.="&blad3=adres";
  34. }
  35. else{
  36. $blad3.="&blad3=".$adres;
  37. }
  38. if(empty($adres2)){
  39. $blad4.="&blad4=";
  40. }
  41. else if(!eregi('^[a-z0-9±ćęłń󶿼 /-]+ ,$adres2)){
  42.  
  43. $blad4.="&blad4=adres2";
  44. }
  45. else{
  46. $blad4.="&blad4=".$adres2;
  47. }
  48. if(!eregi('^[a-z±ćęłń󶿼 ]+ ,$miasto)){
  49.  
  50. $blad5.="&blad5=miasto";
  51. }
  52. else{
  53. $blad5.="&blad5=".$miasto;
  54. }
  55. if($wojewodztwo=="Wybierz województwo..."){
  56.  
  57. $blad6.="&blad6=wojewodztwo";
  58. }
  59. else{
  60. $blad6.="&blad6=".$wojewodztwo;
  61. }
  62. if(!ereg('^([0-9]{2}-[0-9]{3}) ,$kod_pocztowy)){
  63.  
  64. $blad7.="&blad7=kod_pocztowy";
  65. }
  66. else{
  67. $blad7.="&blad7=".$kod_pocztowy;
  68. }
  69. if(empty($num_telefon) or !ereg('^([0-9]{3} [0-9]{3}-[0-9]{2}-[0-9]{2})*([0-9]{9})* ,$num_telefon)){
  70.  
  71. $blad8.="&blad8=num_telefon";
  72. }
  73. else{
  74. $blad8.="&blad8=".$num_telefon;
  75. }
  76. if(empty($num_faksu)){
  77. $blad9.="&blad9=";
  78. }
  79. else if(!ereg('^([0-9]{3} [0-9]{3}-[0-9]{2}-[0-9]{2}) ,$num_faksu)){
  80.  
  81. $blad9.="&blad9=num_faksu";
  82. }
  83. else{
  84. $blad9.="&blad9=".$num_faksu;
  85. }
  86. if(!eregi('^([_a-z0-9-]+(.[_a-z0-9-]+)*@[_a-z0-9-]+(.[_a-z0-9-]+)*(.[a-z]{2,4})?) ,$email)){
  87.  
  88. $blad10.="&blad10=email";
  89. }
  90. else{
  91. $blad10.="&blad10=$email";
  92. }
  93. if($transport=="Wybierz transport..."){
  94.  
  95. $blad11.="&blad11=transport";
  96. }
  97. else{
  98. $blad11.="&blad11=".$transport;
  99. }
  100.  
  101. if($blad1=="blad1=imie" or $blad2=="blad2=nazwisko" or $blad3=="blad3=adres" or $blad4=="blad4=adres2" or $blad5=="blad5=miasto" or $blad6=="blad6=wojewodztwo" or $blad7=="blad7=kod_pocztowy" or $blad8=="blad8=num_telefon" or $blad9=="blad9=num_faksu" or $blad10=="blad10=email" or $blad11=="blad11=transport"){
  102. header("location:zatw_zakupu.php?" . $blad1 . $blad2 . $blad3 . $blad4 . $blad5 . $blad6 . $blad7 . $blad8 . 
    $blad9 . $blad10 .$blad11);
  103.  
  104. }
  105.  
  106. else{
  107.  
  108. if($_POST['te_same']=='on'){
  109. $_POST['Imie_wysylka']=$_POST['Imie'];
  110. $_POST['Nazwisko_wysylka']=$_POST['Nazwisko'];
  111. $_POST['Adres_wysylka']=$_POST['Adres_kup'];
  112. $_POST['Adres_wysylka2']=$_POST['Adres_kup2'];
  113. $_POST['Miasto_wysylka']=$_POST['Miasto'];
  114. $_POST['wojewodztwo_wysylka']=$_POST['wojewodztwo'];
  115. $_POST['kod_pocztowy_wysylka']=$_POST['kod_pocztowy'];
  116. $_POST['num_telefon_wysylka']=$_POST['num_telefon'];
  117. $_POST['email_wysylka']=$_POST['email'];
  118. }
  119. $transport=$_POST['transport'];
  120. if($transport=='Poczta Polska'){
  121.  $transport1=10;
  122. }
  123. else if($transport=='Kurier){
  124.  $transport1=15;
  125. }
  126. }
  127. ?>
Daimos
duzo do czytania winksmiley.jpg
zrob tak:
  1. <?php
  2. if(polezlewypelnione){ $ok = false; }elseif(pole2zlewypelnione){ $ok = false; } /itd a na koncu:
  3. else{ $ok = true; }
  4.  
  5. // na koncu dajesz 
  6. if($ok){
  7. // akcja, gdy pola poprawne
  8. }
  9. ?>


zamiast tylu ifow, IF(BLAD==imie)
mozesz bledy w tablicy miec:
  1. <?
  2. $bledy = array("imie"=>"wpisales zle imie", .....); //itd.
  3. ?>

a pozniej za pomoca np. while sprawdzac jaki blad i wyswietlac komunikat odpowiedni
Sampo511
Witam

dzięki my salsa za odzew ale już sobie sam poradziłem

problem był w wierszu 102 w listingu drugi.php
a mianowicie powinno być:
  1. <?php
  2. if(($blad1=="blad1=imie") or ($blad2=="&blad2=nazwisko") or ($blad3=="&blad3=adres") or ...itd.
  3. ?>


Pozdrawiam
To jest wersja lo-fi głównej zawarto¶ci. Aby zobaczyć pełn± wersję z większ± zawarto¶ci±, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.