| Autor | Zpráva | ||
|---|---|---|---|
| jurra Profil * |
#1 · Zasláno: 15. 4. 2008, 20:34:51
Mám takový problém, vytvořil jsem si okénko s počtem vojáků, které můžete postavit
a máte 100 zlatých. Při postavení vojáků by se mi měly odečíst zlatky a když si postavím všech 100 vojáků tak mám samozřejmě 0 zlatých.... Jenže když "zkusím" zadat do formuláře ještě nějaké vojsko tak se mi objeví znovu 100 zlatých a můžu stavět odznova. <?php session_start(); ?> <HTML> <BODY> <?php if (!$_SESSION["vypocet"]){ $_SESSION["vypocet"] = 100; } else { if ( $_POST['oknossermiri'] > 0) { if ( $_POST['oknossermiri'] < $_SESSION["vypocet"]) { $_SESSION["vypocet"] = $_SESSION["vypocet"] - $_POST['oknossermiri']; }} else $_SESSION["vypocet"] = $_SESSION["vypocet"] - $_POST['oknossermiri']; if ($_SESSION["vypocet"] == $_POST['oknossermiri']) { $_SESSION["vypocet"] = $_SESSION["vypocet"] * 0; } if ($_POST["klik"]) { }}} echo " Máte ".$_SESSION["vypocet"]." zlatých"; ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" /> 1 šermíř stojí 1 zlatku<br><br> postavte šermíře <input type="text" name="oknossermiri" /> <input type="submit" name="klik" value="postavit" /> </form> </BODY> </HTML> |
||
| Akacko Profil |
#2 · Zasláno: 15. 4. 2008, 20:59:54 · Upravil/a: Akacko
jurra
Je to způsobeno tímto kódem:
if (!$_SESSION["vypocet"])
{
$_SESSION["vypocet"] = 100;
}
Podmínka if (!$_SESSION["vypocet"]) je pravdiva, je li hodnota $_SESSION["vypocet"] = 0. Takže, když se dostaneš na nulu, znovu nabyde hodnoty 100. Zkus to napsat takto:
if (!isset($_SESSION["vypocet"]))
{
$_SESSION["vypocet"] = 100;
}
|
||
| jurra Profil * |
#3 · Zasláno: 15. 4. 2008, 21:54:46
Díky moc,
|
||
|
Časová prodleva: 18 let
|
|||
0