Autor | Zpráva | ||
---|---|---|---|
SirDoxik Profil |
#1 · Zasláno: 20. 6. 2015, 16:41:56 · Upravil/a: Moderátor (editace znemožněna) 20. 6. 2015, 18:00:10
Dobrý den, nefunguje mi tento script
<?php $mykeys = 10 if isset($_POST['odeslano']) { $usernam = $_POST['username']; $color = $_POST['color']; $ammount = $_POST['ammount']; $vysledek = mt_rand(1, 2); echo '$color'; echo '$ammount'; ($mykeys<$ammount){ echo '<script> alert("Nemáte dostatečný počet klíčů!")</script>'; } else { process(); } function process() { if (color==$vysledek) { $mykeys = $mykeys+$ammount; echo '<script> alert("VYHRALI JSTE!")</script>'; } else { $mykeys = $mykeys-$ammount; echo '<script> alert("PROHRALI JSTE!")</script>'; } } ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <form action="roulettefce.php" method="post"> Jmeno <input type="text" name="username"> Barva <input type="number" name="color"> Počet <input type="number" name="ammount"> <input type="submit" value="odeslat" name="odeslano"> </form> </body> </html> |
||
juriad Profil |
#2 · Zasláno: 20. 6. 2015, 16:51:12
Doplň středník na 2. řádek.
|
||
SirDoxik Profil |
#3 · Zasláno: 20. 6. 2015, 17:03:52
juriad:
děkuji moc. Jen zase mi to začalo vyhazovat error ale tentokrát Parse error: syntax error, unexpected 'isset' (T_ISSET), expecting '(' in C:\xampp\htdocs\roulettefce.php on line 3 |
||
juriad Profil |
Argument ifu musí být v závorkách:
if (isset($_POST['odeslano'])) { Mám takový dojem, že si pleteš PHP s Pythonem. |
||
SirDoxik Profil |
#5 · Zasláno: 20. 6. 2015, 17:54:21
juriad:
Omlouvám se že vás tady takhle otravuju ale snad někdy i antitalent jak já se to phpko naučí :) tentokrát mi to začalo vyhazovat: Notice: Undefined variable: vysledek in C:\xampp\htdocs\roulettefce.php on line 9 Notice: Undefined variable: color in C:\xampp\htdocs\roulettefce.php on line 9 Notice: Undefined variable: ammount in C:\xampp\htdocs\roulettefce.php on line 11 Notice: Undefined variable: mykeys in C:\xampp\htdocs\roulettefce.php on line 11 <?php $mykeys = 10; $usernam = $_POST['username']; $color = $_POST['color']; $ammount = $_POST['ammount']; $vysledek = mt_rand(1, 2); function process() { if ($color==$vysledek) { $mykeys = $mykeys+$ammount; echo '<script> alert("VYHRALI JSTE!")</script>'; } else { $mykeys = $mykeys-$ammount; echo '<script> alert("PROHRALI JSTE!")</script>'; } } if (isset($_POST['odeslano'])) { if ($mykeys<$ammount){ echo '<script> alert("Nemáte dostatečný počet klíčů!")</script>'; } else { process(); } } ?> |
||
juriad Profil |
#6 · Zasláno: 20. 6. 2015, 17:58:59
SirDoxik:
To proto, že funkce nemá přístup k proměnným defiovaným mimo ní. Ve funkci můžeš používat jen lokální proměnné a její parametry a globální proměnné ($_POST, $_GET a ty označené jako global (to nedělej)). Když funkci úplně zahodíš a řádky 9 - 19 přesuneš na místo jejího volání (řádek 26), tak to začne fungovat. |
||
SirDoxik Profil |
juriad:
Děkuju hrozně moc! Máš můj velkej respekt. Snad se jednou tohle všechno taky naučím psát bez chyb a budu radit ostatním :) |
||
Časová prodleva: 9 let
|
0