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<h1>Części samochodowe Janka
</h1> <h2>Formularz zamówienia
</h2>
<form action="przetworzzamowienie.php" method=post> <td width=150>Produkt
</td> <td align=left><input type="text" name="iloscopon" size=3 maxlength=3></td> <td align=left><input type="text" name="iloscoleju" size=3 maxlength=3></td> <td>Świece Zapłonowe
</td> <td align=left><input type="text" name="iloscswiec" size=3 maxlength=3></td> <td align=left><input type="text" name="adres" size=40 maxlength=40></td> <td colspan=2 align=center><input type=submit value="Złóż zamówienie"></td>
przetworzzamowienie.php<?php
// utworzenie krótkich nazw zmiennych
$iloscopon = $_POST['iloscopon'];
$iloscoleju = $_POST['iloscoleju'];
$iloscswiec = $_POST['iloscswiec'];
$adres = $_POST['adres'];
$adres = $_POST['adres'];
$DOCUMENT_ROOT = $_POST['DOCUMENT_ROOT'];
?>
<html>
<head>
<title>Części samochodowe Janka — wyniki zamówienia</title>
</head>
<body>
<h1>Części samochodowe Janka</h1>
<h2>wyniki zamówienia</h2>
<?php
echo '<p>Zamówienie przyjęte o ';
echo '<p>Zamówienie Państwa wygląda następująco: </p>';
$ilosc=0;
$ilosc=$iloscopon+$iloscoleju+$iloscswiec;
if( $ilosc == 0 )
{
echo 'Na poprzedniej stronie nie zostało złożone żadne zamówienie!<br />'; }
else
{
if ( $iloscopon>0 )
echo $iloscopon.' opon<br />'; if ( $iloscoleju>0 )
echo $iloscoleju.' butelek oleju<br />'; if ( $iloscswiec>0 )
echo $iloscswiec.' świec zapłonowych<br />'; }
$wartosc=0.00;
$wartosc =$iloscopon * CENAOPON + $iloscoleju * CENAOLEJU + $iloscswiec * CENASWIEC;
echo '<P>Wartość zamówienia wynosi '.$wartosc.'</P>';
echo '<P>Adres wysyłki to '.$adres. '</P>';
$ciagwyjsciowy = $data.\"t\".$iloscopon.\" opon t\".$iloscoleju.\" butelek olejut\"
.$iloscswiec.\" swiec zapłonowycht\".$wartosc
.\"PLN/t\". $adres.\"n\";
// otwarcie pliku w celu dopisywania
@ $wp = fopen(\"$DOCUMENT_ROOT/../zamowienia/zamowienia.txt\", 'ab');
if (!$wp)
{
echo '<p><strong> Zamówienie Państwa nie może zostać przyjęte w tej chwili. ' .'Proszę spróbować później.</strong></p></body></html>';
}
echo '<p>Zamówienie zapisane.</p>'; ?>
</body>
</html>
zamowienia.txtKod
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<?php
// utworzenie krótkich nazw zmiennych
$DOCUMENT_ROOT = $HTTP_SERVER_VARS['DOCUMENT_ROOT'];
?>
<html>
<head>
<title>Części samochodowe Janka — zamówienia klientów</title>
</head>
<body>
<h1>Części samochodowe Janka</h1>
<h2>Zamówienia klientów</h2>
<?php
@ $wp = fopen(\"$DOCUMENT_ROOT/../zamowienia/zamowienia.txt\", 'r');
if (!$wp)
{
echo '<p><strong>Brak zamówień.' .'Proszę spróbować później.</strong></p></body></html>';
}
{
$zamowienie = fgets($wp, 999
); }
?>
</body>
</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