Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Formularz zamówienia jak > 0?
Forum PHP.pl > Forum > Przedszkole
simplescript
Cześć, mam taki problem. Zaadoptowałem sobie formularz zamówienia i skrypt przetwarzający, który zapisuje dane do pliku oraz wysyła je mailem. W przypadku ekranu zwrotnego potrafię zrobić, żeby wyświetlił tylko te pozycje, w których klient wpisze więcej niż 0, natomiast do pliku i na mail wysyła wszystko (tzn. również puste pola) i odczytujący musi patrzeć, gdzie jest 0, a gdzie więcej. Przy 3 pozycjach jak teraz to nie jest problem, ale przy 30 już tak.

Więc jak do zmiennej $ciagwyjsciowy zapisać tylko to, co nie ma wartości 0? Podejrzewam, że rozwiązanie jest banalne, ale ja jestem raczkujący... smile.gif Dzięki za wszelką pomoc.

Poniżej kod:
formularz:

  1. <title>Futures restaurant</title>
  2. </head>
  3. <h1>Order from Futures</h1>
  4. <h2>Your choice:</h2>
  5.  
  6. <form action="przetworzzamowienie.php" method=post>
  7. <table border=0>
  8. <tr bgcolor=#cccccc>
  9. <td width=150>Dish</td>
  10. <td width=15>number</td>
  11. </tr>
  12. <tr>
  13. <td>Soup</td>
  14. <td align=left><input type="text" name="soup" size=3 maxlength=3></td>
  15. </tr>
  16. <tr>
  17. <td>Hot spot</td>
  18. <td align=left><input type="text" name="hotspot" size=3 maxlength=3></td>
  19. </tr>
  20. <tr>
  21. <td>Bake</td>
  22. <td align=left><input type="text" name="bake" size=3 maxlength=3></td>
  23. </tr>
  24. <tr>
  25. <td>Adress</td>
  26. <td align=left><input type="text" name="adress" size=40 maxlength=40></td>
  27. </tr>
  28. <tr>
  29. <td>Email</td>
  30. <td align=left><input type="text" name="email" size=40 maxlength=40></td>
  31. </tr>
  32. <tr>
  33. <td colspan=2 align=center><input type=submit value="Złóż zamówienie"></td>
  34. </tr>
  35. </form>
  36.  
  37. </body>
  38. </html>


skrypt:

  1. <?php
  2.  
  3. $soup = $_POST['soup'];
  4. $hotspot = $_POST['hotspot'];
  5. $bake = $_POST['bake'];
  6. $mail = $_POST["mail"];
  7.  
  8. ?>
  9.  
  10. <html>
  11. <head>
  12. <title>Order details:</title>
  13. </head>
  14. <body>
  15.  
  16. <?php
  17. $ilosc=0;
  18. $ilosc+=$soup;
  19. $ilosc+=$hotspot;
  20. $ilosc+=$bake;
  21.  
  22. $wartosc=0.00;
  23.  
  24. define('CENASOUP', 5);
  25. define('CENAHOTSPOT', 8);
  26. define('CENABAKE', 3);
  27.  
  28.  $data=date('H:i, jS F');
  29.  
  30. echo '<p>Order admitted at ';
  31.  
  32. echo $data;
  33. echo '<br />';
  34. echo '<p>Your order:';
  35. echo '<br />';
  36.  
  37. if( $ilosc == 0 )
  38. {
  39. echo 'No order at previous page! <br />';
  40. }
  41. else
  42. {
  43. if ( $soup>)
  44. echo $soup.' soups<br />';
  45. if ( $hotspot>)
  46. echo $hotspot.' hot spots<br />';
  47. if ( $bake>)
  48. echo $bake.' bakes<br />';
  49. }
  50.  
  51. $wartosc =$soup * CENASOUP + $hotspot * CENAHOTSPOT + $bake * CENABAKE;
  52. $wartosc=number_format($wartosc, 2, '.', ' ');
  53.  
  54. echo '<P>Worth of your order is '.$wartosc.'</P>';
  55.  
  56. echo '<P>Delivery adress is '.$adress. '<br />';
  57.  
  58. $ciagwyjsciowy = $data."t".$soup." soups t".$hotspot." hot spots t"
  59.  .$bake." bakes t".$wartosc
  60.  ."€/t". $adress."n";
  61.  
  62. mail("adres@domena.pl","Order from page", $ciagwyjsciowy, "From: $mail");  
  63.  
  64. // otwarcie pliku w celu dopisywania
  65. @ $wp = fopen("zamowienia.txt", 'a');
  66.  
  67. flock($wp, LOCK_EX);
  68.  
  69. if (!$wp)
  70. {
  71. echo '<p><strong> Your order could not be admitted at this moment. '
  72.  .'Please try again later.</strong></p></body></html>';
  73. }
  74.  
  75. fwrite($wp, $ciagwyjsciowy);
  76. flock($wp, LOCK_UN);
  77. fclose($wp);
  78.  
  79. echo '<p>Order saved</p>';
  80.  
  81. ?>
  82. </body>
  83. </html>
cornholio666
np.

  1. <?php
  2. if($zmienna1 != 0){
  3. $ciagwyjsciowy .= $zmienna1;
  4.  } 
  5.  
  6. if($zmienna2 != 0){
  7. $ciagwyjsciowy .= $zmienna2;
  8.  }
  9.  
  10. itd...
  11. ?>
simplescript
Wielkie dzięki. To działa! guitar.gif
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.