Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] tak jakby pomija czesc skryptu...?
Forum PHP.pl > Forum > Przedszkole
djsee
php ucze sie od wczoraj smile.gif no i właśnie przerabiam jakis przyklad z ksiazki, niestety nie mam do niej CD i nie wiem czy błąd jest w książce czy co...


pytanie 1:


Więc mam plik
formularz.html

<?xml version="1.0" encoding="iso-8859-2"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
<meta http-equiv="reply-to" content="Adres_e-mail" />
<meta name="generator" content="WebSite PRO 4.3" />
<meta name="author" content="djsee" />
<meta name="description" content="Opis" />
<title>Test</title>
</head>
<body>
<form action="przetworzzamowienie.php" method=post>
<table border=0>
<tr bgcolor=#cccccc>
<td width="150">Produkt</td>
<td width="15">Ilo¶ć</td>
</tr>
<tr>
<td>Opony</td>
<td align="center"><input type="text" name="iloscopon" size="3" maxlength="3"></td>
</tr>
<tr>
<td>Olej</td>
<td align="center"><input type="text" name="iloscoleju" size="3" maxlength="3"></td>
</tr>
<tr>
<td>¦wiece Zapłonowe</td>
<td align="center"><input type="text" name="iloscswiec" size="3" maxlength="3"></td>
</tr>
<tr>
<td>Jak dowiedzieli się Państwo o sklepie Janka?</td>
<td><select name="jak">
<option value = "a">Jestem stałym klientem
<option value = "b">Reklama telewizyjna
<option value = "c">Ksi±żka telefoniczna
<option value = "d">Znajomy
</select>
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Złóż zamówienie"></td>
</tr>

</table>
</form>

</body>
</html>

Jest to formularz smile.gif kilka pol i przycisk zatwierdzajacy, po ktorego nacisnieciu nastepuje przekierowanie do pliku
przetworzzamowienie.php

<?php
//utwórz krótkie nazwy zmiennych
$iloscopon = $_POST['iloscopon'];
$iloscoleju = $_POST['iloscoleju'];
$iloscswiec = $_POST['iloscswiec'];
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
<meta http-equiv="reply-to" content="Adres_e-mail" />
<meta name="generator" content="WebSite PRO 4.3" />
<meta name="author" content="Autor_dokumentu" />
<meta name="description" content="Opis" />
<title>Bez Tytułu</title>
</head>
<body>


<h1>Czę¶ci samochodowe Janka</h1>
<h2>Wyniki zamówienia</h2>

<?php
$ilosc = 0;
$ilosc = $iloscopon + $iloscoleju + $iloscswiec;
if($ilosc == 0)
{
echo 'Na poprzedniej stronie nie zostało złożone żadne zamówienie!<br />';
}
else
{
echo '<p>Zamówienie przyjęte o ';
echo date('H:i. jS F');
echo '</p>';
echo '<p>Zamówienie wygl±da następuj±co: </p>'; // 20
if(iloscopon>0)
{
echo $iloscopon.' opon<br />';
}
if(iloscoleju>0)
{
echo $iloscoleju.' butelek oleju<br />';
}
if(iloscswiec>0)
{
echo $iloscswiec.' swiec zapłonowych<br />';
}

echo 'Zamówionych czę¶ci: '.$ilosc.'<br />';

$wartosc = 0.00;

define('CENAOPON', 100);
define('CENAOLEJU', 10);
define('CENASWIEC', 4);

$wartosc = $iloscopon * CENAOPON
+ $iloscoleju * CENAOLEJU
+ $iloscswiec * CENASWIEC;

echo 'Cena netto: '.number_format($wartosc, 2).' PLN<br />';

$stawkavat = 0.22; // stawka VAT wynosi 22%
$wartosc = $wartosc * (1 + $stawkavat);
echo 'Cena brutto: '.number_format($wartosc, 2).' PLN<br />';

} // koniec else
?>

</body>
</html>

interesuje mnie ten fragment w pliku przetworzzamowienie.php


if(iloscopon>0) // 1 warunek if
{
echo $iloscopon.' opon<br />';
}
if(iloscoleju>0) // 2 warunek if
{
echo $iloscoleju.' butelek oleju<br />';
}
if(iloscswiec>0) // 3 warunek if
{
echo $iloscswiec.' swiec zapłonowych<br />';
}

mianowicie kiedy
iloscopon = 2
iloscoleju = 3
iloscswiec = 4

to wtedy kazdy z 3 warunkow if jest spelniony i powinno wyswietlic sie
2 opon
3 butelek oleju
4 swiec zaplonowych

Niestety nie wiem dlaczego w takim przypadku nie wyswietla sie nic ?

Kiedy usune te 3 warunki if wtedy ilosci sie wyswietlaja, ale to nie tak ma byc, tylko ma sie wyswietlac konkretny towar w zaleznosci czy w formularzu zamawialismy 0 czy wiecej danego towaru.

Jeśli ktoś może mi wskazać co jest nie tak w skrypcie php będę bardzo wdzięczny.


pytanie 2:


Oto krotki skrypt w php
transport.php

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
<meta http-equiv="reply-to" content="Adres_e-mail" />
<meta name="generator" content="WebSite PRO 4.3" />
<meta name="author" content="Autor_dokumentu" />
<meta name="description" content="Opis" />
<title>Bez Tytułu</title>
</head>
<body>

<table border ="0" cellpadding="3">
<tr>
<td bgcolor = "#CCCCCC" align="center">Odległo¶ć</td>
<td bgcolor = "#CCCCCC" align="center">Koszt</td>
</tr>
<?php
$odleglosc = 50;
while($odleglosc <= 250)
{
echo "<tr>\n <td align="right">$odleglosc</td>\n"; // tutaj blad
echo " <td align="right">". $odleglosc / 10 . "</td>\n</tr>\n";
$odleglosc += 50;
}
?>
</table>

w pierwszej instrukcji petli while wywala mi bląd:
Cytat
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in c:\usr\apache\httpd\html\transport.php on line 21


czyli oczekuje przecinka lub srednika ale srednik na koncu instrukcji mam wiec nie wiem o co biega.
Może Wy wiecie ?


Zauwazylem ze jak na forum chce wstawic fragment kodu np miedzy znacznikami php to kod ten nie jest wyswietlany do konca poprawnie... czasem ukosniki sie przestawiaja dlateo wkleilem tak a nie inaczej
nospor
do php5 to ma sie nijak. przenosze.

nie:
if(iloscopon>0)
a
if($iloscopon>0)
reszta podobnie

co do drugiego problemu to polecam:
http://pl.php.net/manual/pl/language.types.string.php
nie mozna wkladac " do " od tak poprostu
djkret
Jeśli chodzi o drugie pytanie to zamiast

echo "<tr>\n <td align="right">$odleglosc</td>\n"; // tutaj blad

powinno być

echo "<tr>\n <td align=\"right\">".$odleglosc."</td>\n";

A najlepiej to zrobić to tak:

echo '<tr>\n <td align="right">'.$odleglosc.'</td>\n';

Wtedy odpada problem oznaczania cudzysłowów w skrypcie.

Nie używam tutaj bbcode bo źle mi oznacza apostrofy i cudzysłowy.
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.