Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][PHP]Problem z czyszczeniem pól formularza
slawak1
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 16.09.2011

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


Witam.. Jest to mój pierwszy skrypt w PHP, zresztą prosty jak widać. Problem polega na tym, że gdy w polu formularza wpiszemy wartość np. ujemną i wyświetla nam stosowny komunikat, pola formularza zostają wyczyszczone. Chciałbym tego uniknąć, tak by można poprawić błędną wartość, zachowując pozostałe pola.

Na obecną chwilę skrypt też jest na stronie www.globalexpress.ie

Pozdrawiam serdecznie.

  1. <form action="#cennik#" method="post" id="cennik">
  2. <input type="number" name="a" id="a"/>długość
  3. <input type="number" name="b" id="b"/>wysokość
  4. <input type="number" name="c" id="c"/>szerokość
  5. <div>
  6.  
  7. <input type="number" name="d" id="d"/>waga
  8. </div>
  9. <div>
  10. <input type="submit" name="submit" id="submit" value="oblicz" />
  11. </div>
  12. </form>
  13.  
  14. <?php
  15.  
  16. $_POST['a'];
  17. $_POST['b'];
  18. $_POST['c'];
  19. $_POST['d'];
  20.  
  21. $komunikat['a'] = '<div id="blad">Twoja paczka jest za długa, </ br></div>';
  22. $komunikat['b'] = '<div id="blad">Twoja paczka jest za wysoka, </ br></div>';
  23. $komunikat['c'] = '<div id="blad">Twoja paczka jest za szeroka, </ br></div>';
  24. $komunikat['suma'] = '<div id="blad">Twoja paczka jest za duża, suma boków powinna być mniejsza niż 300 cm</ br></div>';
  25. $komunikat['dlugosc'] = '<div id="blad">Podałeś nie poprawną długość, długość nie może być ujemna ani równa 0</ br></div>';
  26. $komunikat['wysokosc'] = '<div id="blad">Podałeś nie poprawną wysokość, wysokość nie może być ujemna ani równa 0</ br></div>';
  27. $komunikat['szerokosc'] = '<div id="blad">Podałeś nie poprawną szerokość, szerokość nie może być ujemna ani równa 0</ br></div>';
  28. $komunikat['waga'] = '<div id="blad">Podałeś niepoprawną wagę, waga nie może być ujemna ani równa 0.</ br></div>';
  29. $komunikat['d'] = '<div id="blad">Twoja paczka jest za ciężka. Maksymalnie może ważyć 50 kg.</ br></div>';
  30.  
  31. function waliduj(){
  32.  
  33. global $walidacja;
  34. global $komunikat;
  35. $suma = $_POST['a']+$_POST['b']+$_POST['c'];
  36.  
  37. if ($_POST['a'] <= 0){
  38. $walidacja = $komunikat['dlugosc'];
  39. }else{
  40. if ($_POST['a'] > 200){
  41. $walidacja = $komunikat['a'];
  42. }
  43. }
  44.  
  45. if ($_POST['b'] <= 0){
  46. $walidacja = $komunikat['wysokosc'];
  47. }else{
  48. if ($_POST['b'] > 200){
  49. $walidacja = $komunikat['b'];
  50. }
  51. }
  52.  
  53. if ($_POST['c'] <= 0){
  54. $walidacja = $komunikat['szerokosc'];
  55. }else{
  56. if ($_POST['c'] > 200){
  57. $walidacja = $komunikat['c'];
  58. }
  59. }
  60.  
  61. if ($_POST['d'] <= 0){
  62. $walidacja = $komunikat['waga'];
  63. }else{
  64. if ($_POST['d'] > 50){
  65. $walidacja = $komunikat['d'];
  66. }
  67. }
  68.  
  69. if ($suma > 300){
  70. $walidacja = $komunikat['suma'];
  71. }
  72. if (empty($walidacja)){
  73. return 'true';
  74. }else{
  75. echo $walidacja;
  76. }
  77. }
  78.  
  79. if (($_SERVER['REQUEST_METHOD'] == 'POST')) {
  80. $walidacja = waliduj();
  81. if ($walidacja == 'true'){
  82. echo '<br>';
  83. $suma = $_POST['a']+$_POST['b']+$_POST['c'];
  84. if ($suma<300 && $_POST['d']<50){
  85. echo '
  86. <div id="sukces">
  87. Twoja paczka może być wysłana
  88. </div>';
  89. }
  90. }
  91. }
  92.  
  93. ?>
  94.  
  95.  


Ten post edytował slawak1 16.09.2011, 22:19:18
Go to the top of the page
+Quote Post
cer98
post
Post #2





Grupa: Zarejestrowani
Postów: 126
Pomógł: 5
Dołączył: 17.07.2011

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


  1. <?php
  2.  
  3. $zmienna = $_GET['a'];
  4.  
  5. print '<form action="skryptt.php" action="post" method="">
  6. <input type="number" name="a" id="a" value="$zmienna" />
  7. </form>';
  8.  
  9. ?>


Zmienną get możesz przesłać $_GET w linku, z którego robisz przekierowanie ze strony odbierającej dane przez nagłówek header().

A jak nie, to tablica sesji.

Ten post edytował cer98 16.09.2011, 22:41:51
Go to the top of the page
+Quote Post
slawak1
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 16.09.2011

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


Dzięki za podpowiedź wink.gif

Już wszystko gra jak należy.

Pozdrawiam
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 Aktualny czas: 22.08.2025 - 03:47