Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przykład z książki nie działa, proszę o pomoc
Musashi
post
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 19.11.2004
Skąd: Witnica, lubuskie

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


Witam.
Jestem bardzo początkujący w php. Po długich bojach z czerwoną kontrolką dopiero wczoraj udało mi się uruchomić Krasnala i próbuję coś w nim działać. Kupiłem także książkę "php i MySQL - Tworzenie stron WWW" - vademecum profesjonalisty i przepisuję z niej przykłady zamieszczając je w katalogu Krasnala.
Już przykład z rozdziału 2 nie działa. Składam zamówienie poprzez formularz, lecz dane nie są zapisywane i wyskakuje komunikat, że nic nie zostało zamówione.

W rozdziale 2 znajdują się następujące pliki:
formularz.html
  1. <title>Części samochodowe Janka</title>
  2. </head>
  3. <h1>Części samochodowe Janka</h1>
  4. <h2>Formularz zamówienia</h2>
  5.  
  6. <form action="przetworzzamowienie.php" method=post>
  7. <table border=0>
  8. <tr bgcolor=#cccccc>
  9. <td width=150>Produkt</td>
  10. <td width=15>Ilość</td>
  11. </tr>
  12. <tr>
  13. <td>Opony</td>
  14. <td align=left><input type="text" name="iloscopon" size=3 maxlength=3></td>
  15. </tr>
  16. <tr>
  17. <td>Olej</td>
  18. <td align=left><input type="text" name="iloscoleju" size=3 maxlength=3></td>
  19. </tr>
  20. <tr>
  21. <td>Świece Zapłonowe</td>
  22. <td align=left><input type="text" name="iloscswiec" size=3 maxlength=3></td>
  23. </tr>
  24. <tr>
  25. <td>Adres</td>
  26. <td align=left><input type="text" name="adres" size=40 maxlength=40></td>
  27. </tr>
  28. <tr>
  29. <td colspan=2 align=center><input type=submit value="Złóż zamówienie"></td>
  30. </tr>
  31. </form>
  32.  
  33. </body>
  34. </html>


przetworzzamowienie.php
  1. <?php
  2.   // utworzenie krótkich nazw zmiennych
  3.   $iloscopon = $_POST['iloscopon'];
  4.   $iloscoleju = $_POST['iloscoleju'];
  5.   $iloscswiec = $_POST['iloscswiec'];
  6.   $adres = $_POST['adres'];
  7.   $adres = $_POST['adres'];
  8.  
  9.   $DOCUMENT_ROOT = $_POST['DOCUMENT_ROOT'];
  10. ?>
  11.  
  12. <html>
  13. <head>
  14.   <title>Części samochodowe Janka — wyniki zamówienia</title>
  15. </head>
  16. <body>
  17. <h1>Części samochodowe Janka</h1>
  18. <h2>wyniki zamówienia</h2>
  19. <?php
  20.  
  21.  $data=date('H:i, jS F');
  22.  
  23.   echo '<p>Zamówienie przyjęte o ';
  24.  
  25.   echo $data;
  26.   echo '</p>';
  27.   echo '<p>Zamówienie Państwa wygląda następująco: </p>';
  28.  
  29.   $ilosc=0;
  30.   $ilosc=$iloscopon+$iloscoleju+$iloscswiec;
  31.  
  32.   if( $ilosc == 0 )
  33.   {
  34.     echo 'Na poprzedniej stronie nie zostało złożone żadne zamówienie!<br />';
  35.   }
  36.   else
  37.   {
  38.     if ( $iloscopon>)
  39.       echo $iloscopon.' opon<br />';
  40.     if ( $iloscoleju>)
  41.       echo $iloscoleju.' butelek oleju<br />';
  42.     if ( $iloscswiec>)
  43.       echo $iloscswiec.' świec zapłonowych<br />';
  44.   }
  45.  
  46.   $wartosc=0.00;
  47.  
  48.   define('CENAOPON', 100);
  49.   define('CENAOLEJU', 10);
  50.   define('CENASWIEC', 4);
  51.  
  52.   $wartosc =$iloscopon * CENAOPON + $iloscoleju * CENAOLEJU + $iloscswiec * CENASWIEC;
  53.  
  54.   $wartosc=number_format($wartosc, 2, '.', ' ');
  55.  
  56.   echo '<P>Wartość zamówienia wynosi '.$wartosc.'</P>';
  57.  
  58.   echo '<P>Adres wysyłki to '.$adres. '</P>';
  59.  
  60.   $ciagwyjsciowy = $data.&#092;"t\".$iloscopon.\" opon t\".$iloscoleju.\" butelek olejut\"
  61.                    .$iloscswiec.&#092;" swiec zapłonowycht\".$wartosc
  62.                    .&#092;"PLN/t\". $adres.\"n\";
  63.  
  64.   // otwarcie pliku w celu dopisywania
  65. @ $wp = fopen(&#092;"$DOCUMENT_ROOT/../zamowienia/zamowienia.txt\", 'ab');
  66.  
  67.   if (!$wp)
  68.   {
  69.     echo '<p><strong> Zamówienie Państwa nie może zostać przyjęte w tej chwili.  '
  70.          .'Proszę spróbować później.</strong></p></body></html>';
  71.     exit;
  72.   }
  73.  
  74.   fwrite($wp, $ciagwyjsciowy, strlen($ciagwyjsciowy));
  75.   fclose($wp);
  76.  
  77.   echo '<p>Zamówienie zapisane.</p>';
  78. ?>
  79. </body>
  80. </html>


zamowienia.txt
Kod
19:35, 18 lipca    4 opon    1 butelek oleju    6 świec zapłonowych    1820.00PLN    ul. Krótka 22, Kraków
19:37, 18 lipca    1 opon    0 butelek oleju    0 świec zapłonowych    400.00PLN    ul. Główna 33, Gliwice
19:38, 18 lipca    0 opon    1 butelek oleju    4 świec zapłonowych    180.00PLN    ul. Akacjowa 127, Warszawa


zobaczzamowienia.php
  1. <?php
  2.   // utworzenie krótkich nazw zmiennych
  3.   $DOCUMENT_ROOT = $HTTP_SERVER_VARS['DOCUMENT_ROOT'];
  4. ?>
  5. <html>
  6. <head>
  7.   <title>Części samochodowe Janka — zamówienia klientów</title>
  8. </head>
  9. <body>
  10. <h1>Części samochodowe Janka</h1>
  11. <h2>Zamówienia klientów</h2>
  12. <?php
  13.  
  14. @ $wp = fopen(&#092;"$DOCUMENT_ROOT/../zamowienia/zamowienia.txt\", 'r');
  15.  
  16.   if (!$wp)
  17.   {
  18.     echo '<p><strong>Brak zamówień.'
  19.         .'Proszę spróbować później.</strong></p></body></html>';
  20.     exit;
  21.   }
  22.  
  23.   while (!feof($wp))
  24.   {
  25.     $zamowienie = fgets($wp, 999);
  26.     echo $zamowienie.'<br>';
  27.   }
  28.   
  29.   fclose($wp);
  30.  
  31. ?>
  32. </body>
  33. </html>


Wszystkie te pliki umieściłem na moim serwerze http://student.wisz.edu.pl/~kfialkowski/rozdzial_02/

Wpisuję do przeglądarki http://localhost/~formularz.html w celu wypełnienia formularza, a następnie zatwierdzam. Wtedy automatycznie uruchamia się plik przetworzzamowienie.php, ale już bez tyldy przed nim, czyli http://localhost/przetworzzamowienie.php, przy czym się nie wyświetla. Gdy po tym dopiszę ową tyldę informuje mnie, że nie było żadnych zamówień.
Proszę o pomoc.

Pozdrawiam,
K.

Ten post edytował Musashi 25.05.2005, 21:23:00
Go to the top of the page
+Quote Post

Posty w temacie


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: 19.08.2025 - 04:23