Witam, dopiero zaczynam nauk z php. Robie to przy pomocy pewnej ksiazki. Oto pliki doslownie przepisane z ksiazki.
Tu plik z formularzem:
<html>
<head>
<title>Cz__ci samochodowe Janka</title>
</head>
<body>
<h1>Cz__ci samochodowe Janka</h1>
<h2>Formularz zamówienia</h2>
<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="left"><input type="text" name="iloscopon" size="3" maxlength="3" /></td>
</tr>
<tr>
<td>Olej</td>
<td align="left"><input type="text" name="iloscoleju" size="3" maxlength="3" /></td>
</tr>
<tr>
<td>_wiece Zap_onowe</td>
<td align="left"><input type="text" name="iloscswiec" size="3" maxlength="3" /></td>
</tr>
<tr>
<td>Adres</td>
<td align="left"><input type="text" name="adres" size="40" maxlength="40" /></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Z_ó_ zamówienie"></td>
</tr>
</table>
</form>
</body>
</html>
a tu kod php, gdzie wystepuja bledy:
<?php
$iloscopon = $_POST['iloscopon'];
$iloscoleju = $_POST['iloscoleju'];
$iloscswiec = $_POST['iloscswiec'];
$adres = $_POST['adres'];
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
$data=date('H:i. jS F Y');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Wynik zamowienia</title>
</head>
<body>
<h1>Czesci samochodowe</h1>
<h2> Wyniki zamowienia</h2>
<?php
echo "<p> Zamowienie przyjete o ".$data."</p>";
echo "<p> Zamowienie Panstwa wyglada nastepujaco: </p>";
$ilosc = 0;
$ilosc = $iloscopon+$iloscoleju+$iloscswiec;
echo "Zamowionych czesci: ".$ilosc."<br/>";
if($ilosc ==0)
echo "Nie zlozono zamowienia <br/>";
else
{
if($iloscopon>0)
{echo $iloscopon."opon<br />";}
if($iloscoleju>0)
{echo $iloscoleju."oleju <br />";}
if($iloscswiec>0)
{echo $iloscswiec."swiec<br />";}
}
$wartosc = 0;
define('CENAOPON'. 100);
define('CENAOLEJU'. 10);
define('CENASWIEC'. 4);
$wartosc = CENAOPON*$iloscopon + CENAOLEJU*$iloscoleju + CENASWIEC*$iloscswiec;
//$wartosc = number_format($wartosc. 2.'.''. '' ');
echo "<p> Wartosc zamowienia wynosi ".$wartosc."</p>";
echo "<p>Adres wysylki to ".$adres."</p>";
$ciagwyjsciowy = $data."\t".$iloscopon." opon \t".$iloscoleju." butelek oleju\t".
$iloscswiec. " swiec\t".$wartosc."PLN\t".$adres."\n";
//otwarcie pliku
@ $wp = fopen("$DOCUMENT_ROOT/zamowienia.txt".'ab');
flock($wp. LOCK_EX);
if(!$wp)
{echo "<p><strong> BLAD ZAMOWIENIA</strong></p></body></html>";
exit;}
fwrite($wp. $ciagwyjsciowy. strlen($ciagwyjsciowy));
flock($wp. LOCK_UN);
fclose($wp);
echo "<p> Zamowienie zapisane.</p>";
?>
</body>
</html>
Mam błędy takiej tresci:
Warning: define() expects at least 2 parameters, 1 given in C:\xampp\htdocs\przetworzzamowienie.php on line 43
Warning: define() expects at least 2 parameters, 1 given in C:\xampp\htdocs\przetworzzamowienie.php on line 44
Warning: define() expects at least 2 parameters, 1 given in C:\xampp\htdocs\przetworzzamowienie.php on line 45
Notice: Use of undefined constant CENAOPON - assumed 'CENAOPON' in C:\xampp\htdocs\przetworzzamowienie.php on line 47
Notice: Use of undefined constant CENAOLEJU - assumed 'CENAOLEJU' in C:\xampp\htdocs\przetworzzamowienie.php on line 47
Notice: Use of undefined constant CENASWIEC - assumed 'CENASWIEC' in C:\xampp\htdocs\przetworzzamowienie.php on line 47
ORAZ BLAD:
Warning: flock() expects at least 2 parameters, 1 given in C:\xampp\htdocs\przetworzzamowienie.php on line 56
Rozumiem,ze chodzi o to,ze brakuje jakiegos jednego parametru.. Czy ta ksiazka wydana w 2009r jest juz nieaktualna i nie wszytskie przyklady beda dzialac?
I ostatnie pytanie - korzystam z xamppa. Wszystkie pliki trzymam w folderze htdocs, łacznie z plikiem zamowienia txt - czy sposob na jego otwarcie zawarty w kodzie jest prawidlowy?