Autor Zpráva
SirDoxik
Profil
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>';

        }
    }
    
    

?> 
. Hází mi to error: Parse error: syntax error, unexpected T_IF in /home/a1980122/public_html/roulettefce.php on line 3. Moje HTML
<!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>
/pre] Předem děkuji za odpověď
juriad
Profil
Doplň středník na 2. řádek.
SirDoxik
Profil
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
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
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 :)

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: