Autor Zpráva
petrsvetr
Profil
ma to jen spocitat prumernou vysku 3 lidi a vypsat na obrazovku, prosim o pomoc

form.php

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>Petr měří&nbsp; cm</title>
</head>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>PHP - formulář</title>
</head>

<body bgcolor="#FFFFFF" text="#000000">
<form action="zpracuj.php" method="get">
<center><font face="Arial CE, Arial" size="5">
Petr měří <input type="text" name="petr" size="4"> cm.<br>
Pavel měří <input type="text" name="pavel" size="4"> cm.<br>
Karel měří <input type="text" name="karel" size="4"> cm.<br>
<input type="submit" value="Spočítej průměrnou výšku">
</font></center>
</form>
</body>
</html>
<body>
</body>
</html>




zpracuj.php

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>Nová stránka 1</title>
</head>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>PHP - zpracování formuláře</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<center><font face="Arial CE, Arial" size="5">
<?php
$prumerna_vyska = ($petr + $pavel + $karel) / 3 ;
echo $_GET["prumerna_vyska"];
?>
</font></center>
</body>
</html>
<body>
</body>
</html>[/b][b]
havs
Profil
Ty proměnné ve sčítání jsou odesílány v poli $_GET, tedy každá bude zapsána takhle: $_GET["petr"]
...naopak suma v žádném poli není, bude teda jen: $prumerna_vyska
peta
Profil
petrsvetr
viz havs

$prumerna_vyska = ($petr + $pavel + $karel) / 3 ;
echo $_GET["prumerna_vyska"];

1. zapnout si error_reporting !
cz.php.net/error_reporting (priklady)

2. zalezi na tom, kde ten PHP script spoustit, jak maji nastavene php.ini .
cz.php.net/phpinfo
cz.php.net/phpini

3. s globalnimi promennymi se to ma takto:
cz.php.net/global

2+3 - problem je zrejme v tom, ze u sebe mas nastavene globalni promenne=on , jenze, kde to spoustis, tam je off.
Mno a v te knizce, ze ktere jsi to vycetl, tam jaksi schazi ta poznamka, ze pri global = off mas samozrejme:
echo $petr;
echo $pavel;
echo $karel;
... zobrazi "" , cili nic se nezobrazi, protoze tam nic neni.

Pri error_reporting by se mohla zobrazit chybova hlaska, ze dane promenne nemas definovane. Potom by sis uz zrejme poradil. Jenze toto hlaseni opet zavisi na dalsim nastaveni PHP, zda ma tusim proomennou "error_reporting"=1 . Pokud nema, nejde povolit error_reporting a mas smulu. Ale, jeste by se to mohlo dat povolit php_set() (nebo to je mozna ini_set) cz.php.net/ini_set . A pokud stale ne, zkusil bych htaccess. A dal uz mne nic takove nenapada...

Kdyz mas global=on , pak se ti provede neco takoveho:
$petr = $_GET["petr"] || $_POST["petr"] || $_SESSION["petr"] || $_COOKIES["petr"];
A soucasne se to tusim provede pro kazde ze zminenych poli.
_jajo_
Profil
Takto ma vyzerat to php

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>Nová stránka 1</title>
</head>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>PHP - zpracování formuláře</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<center><font face="Arial CE, Arial" size="5">
<?php
$prumerna_vyska = ($_GET["$petr"] + $_GET["$pavel"] + $_GET["$karel"]) / 3 ;
echo prumerna_vyska;
?>
</font></center>
</body>
</html>
<body>
</body>
</html>
nightfish
Profil
_jajo_
máš tam několik chyb
1) místo $_GET["$petr"] má být $_GET["petr"]
2) místo echo prumerna_vyska; má být echo $prumerna_vyska;
3) místo / 3 bych dal / 3.0 (dostaneme přesný výsledek)

a ještě si dovolím doplnění
4) dobrý programátorský zvyk velí testovat, případně ošetřovat vstupy od uživatele (if (isSet($_GET['petr'])) apod.)
_jajo_
Profil
2) místo echo prumerna_vyska; má být echo $prumerna_vyska;

No a ešte sa aj pomylím :D

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0