Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] wymuszenie minimalne wartości w input, brak pomysłu
Fast
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 2.06.2011

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


Witam

mam taki mały problem, napisałem sobie prosty formularz licytacji i wszystko jest już super poza jedną sprawa której nie potrafię zrobić sad.gif

mam taki kod:
  1. $minimum = $mincena+100;
  2.  
  3. if (empty($_POST['submit'])) {
  4.  
  5. echo "wszystkie pola są wymagane.<br /><table border=\"0\"><form method=\"post\">
  6. <tr>
  7. <td width='230' align='right'>Imię i nazwisko lub firma: &nbsp; </td>
  8. <td><input type=\"text\" name=\"imie\" style=\"width: 250px\" maxlength='70'></td>
  9. </tr>
  10. <tr>
  11. <td align='right'>Adres e-mail: &nbsp; </td>
  12. <td><input type=\"email\" name=\"email\" style=\"width: 250px\" maxlength='50'></td>
  13. </tr>
  14. <tr>
  15. <td align='right'>Oferowana cena: <b>minimum $minimum zł.</b> </td>
  16. <td><input type='number' name='cena' style='width: 100px' placeholder='min. $minimum' min='$minimum' maxlength='5'> zł. netto</td>
  17. </tr>
  18. <tr>
  19. <td>&nbsp;</td>
  20. <td><input type=\"submit\" name=\"submit\" value=\"Licytuj\">&nbsp;
  21. </td></form>
  22. </tr>
  23. </table>";
  24. }
  25. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  26. elseif (!empty($_POST['cena']) && !empty($_POST['imie']) && !empty($_POST['email'])) {
  27.  
  28. // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  29. $dane1 = $_POST['imie'];
  30. $dane2 = $_POST['cena'];
  31. $dane3 = " zł.";
  32. $dane = $dane1." - ".$dane2."".$dane3."\n";
  33. $file = "hist.txt";
  34. $ost = "ost.txt";
  35. $fp = fopen($file, "a");
  36. $fo = fopen($ost, "w");
  37. flock($fp, 2);
  38. fwrite($fp, $dane);
  39. flock($fp, 3);
  40. fclose($fp);
  41.  
  42. flock($fo, 2);
  43. fwrite($fo, $dane2);
  44. flock($fo, 3);
  45. fclose($fo);
  46.  
  47. $message = "Wysłał: $_POST[imie]\ne-mail: $_POST[email]\ncena: $_POST[cena]";
  48.  
  49. $header = "From: $_POST[imie] <$_POST[email]>";
  50.  
  51. @mail("...........l","Licytacja","$message","$header")
  52. or die('Nie udało się wysłać wiadomości');
  53.  
  54. echo "<div align=\"center\"><strong>Oferta została zapisana poprawnie!</strong></div><br />Twoja cena to - ". $_POST['cena']." zł";
  55. }
  56.  
  57. else echo "<span style=\"color: #FF0000; text-align: center;\"><br />Wypełnij wszystkie pola!</span> &nbsp; <a href='java script:history.back()'> Powrót</a><br>";
  58.  


pytanie brzmi jak w tym formularzu sprawdzić wartość wpisaną w polu cena i wymusić żeby była >= '$minimum ?
Go to the top of the page
+Quote Post
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


  1. if($cena >= $minimum) {
  2.  
  3. //dalsza czesc kodu
  4. }
  5. else {
  6.  
  7. echo 'Za mała cena';
  8. }
Go to the top of the page
+Quote Post
gargamel
post
Post #3





Grupa: Zarejestrowani
Postów: 278
Pomógł: 35
Dołączył: 25.06.2010

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


Dodatkowo (ale nie ograniczając się do tego) możesz wykorzystać javascript.

Input z ceną powinien wyglądać np. tak:

  1. <input type='text' name='cena' style='width: 100px' id='price_input' maxlength='5'>


Dodatkowo przy otwarciu formularza:

  1. <form method='...' action='...' onsubmit=\"if(document.getElementById('price_input').value < $minimum ) alert('Podales zla cene!!!'); return false;\">


I jest to zwracane poprzez echo, tak jak masz teraz.

Nie wiem czy nie ma błędów, ale ideowo to tak może wyglądać.
Go to the top of the page
+Quote Post
peter13135
post
Post #4





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


@up, zapomniałeś o klamrach wink.gif


--------------------
:)
Go to the top of the page
+Quote Post
Fast
post
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 2.06.2011

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


problem rozwiązany
dodałem jeszcze jednego if`a przed tym który już był i działa świetnie smile.gif
thx za pomoc
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: 20.08.2025 - 15:06