Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Problem z wysyłaniem formularza
Forum PHP.pl > Forum > Przedszkole
yut
Jestem w trakcie nauki PHP z książką, w której mam formularz jak poniżej, a który u mnie wywala błąd:
Cytat
Parse error: syntax error, unexpected '[' in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\Rozdzial11\zgadywanka2a.php on line 14


Jeśli w 14 lini poprawię na:
Kod
$liczba = $_POST["liczba"];

to pojawia mi się taki komunikat:
Cytat
Notice: Undefined index: liczba in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\Rozdzial11\zgadywanka2a.php on line 14


PHP mam w wersji 5.4.5, a serwer Apache w wersji: 2.2.22 (może coś w tym środowisku mam źle skonfigurowane?)
Proszę o radę co robię źle.
Pozdrawiam i z góry dziękuję



Kod
<?php
$liczba_do_odgadniecia = 42;
$liczba_prob = (isset($_POST["liczba_prob"])) ? $_POST["liczba_prob"] + 1 : 1;
$liczba = 1;
if (!isset($_POST["liczba"])) {
    $komunikat = "Witaj w maszynie zgadującej!";
}   elseif ($_POST["liczba"] > $liczba_do_odgadniecia) {
    $komunikat = "Liczba: " . $_POST["liczba"] . " jest sbyt duża, spróbuj mniejszej.";
}   elseif ($_POST["liczba"] < $liczba_do_odgadniecia) {
    $komunikat = "Liczba: " . $_POST["liczba"] . " jest zbyt mała, spróbuj większej.";
}   else {
    $komunikat = "Gratulacje";
}
$liczba = POST["liczba"];
?>
<html>
<head>
<title>Zachowywanie stanu w ukrytym polu</title>
<meta http-equiv=content-type content="text/html; charset=iso-8859-2">
</head>
<body>
<h1><?php echo $komunikat ?></h1>
<p><strong>Numer próby:</strong> <?php echo $liczba_prob; ?></p>
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="POST">
<p><strong>Wybierz liczbę:</strong></p>
<input type="text" name="liczba" value="<?php echo $liczba; ?>" />
<input type="hidden" name="liczba_prob" value="<?php echo $liczba_prob; ?>" />
<p><input type="submit" value="Wylij"></p>
</form>
</body>
</html>
Tajgeer
Zastosuj instrukcję warunkową - jeśli $_POST['liczba'] będzie puste, to ustaw zmiennej $liczba jakąś wartość.

Przykładowo:
  1. $liczba = (isset($_POST['liczba'])) ? $_POST['liczba'] : 0;
yut
Dzięki, pomogło. Co ciekawe, jeśli w tym wyrażeniu co napisałeś na końcu zamiast 0 wstawię puste "" to też nie krzyczy błędu...
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.