Autor | Zpráva | ||
---|---|---|---|
Houska Profil * |
Dobrý den, můžu se zeptat, zda-li někdo vidí v tomto kódu chybu. Nejspíš se mi tajné číslo neodesílá do formuláře a následně se neuloží, avšak já tam nevidím chybu, pomohl by někdo, prosím?
if (isset($_POST['tip'])) { $tip = $_POST['tip']; } else { $tip = false; } if (isset($_POST["abc"])) { $pokus = $_POST["abc"] + 1; } else { $pokus = 1; } if (isset($_POST['tc'])) { $tcislo2 = $_POST['tc']; } else { $tcislo = mt_rand(1,5000); $tcislo2 = $tcislo; var_dump ($tcislo2); } if ($tip !== false && is_numeric($tip)) { if ($_POST['tip'] == $tcislo2) { echo "<form method=\"post\"> <input disabled=\"disabled\" type=\"text\" name=\"c\" value=\"".$tcislo2."\" /> <input type=\"hidden\" name=\"abc\" value=\"$pokus\" /> <input type=\"hidden\" name=\"tc\" value=\"$tcislo2\"> </form> <strong>Výborně</strong>, hledané číslo bylo opravdu ".$tcislo2." <br /> Počet pokusů: ".$_POST['pokus']." <br />"; if ($_POST['pokus'] == 1) { echo "Na jeden pokus? Pochvala tobě!"; } else if ($_POST['pokus'] < 10) { echo "Docela slušné uhádnout mé číslo na ".$_POST['pokus']." pokusů"; } else if ($_POST['pokus'] > 10) { echo "Tak tvůj tip je katastrofa, zkus to znovu radši!"; } } else { echo "<form method=\"post\"> <input type=\"text\" name=\"tip\" /> <input type=\"submit\" name=\"tlacidlo\" value=\"ok\" /> <input type=\"hidden\" name=\"abc\" value=\"$pokus\" /> <input type=\"hidden\" name=\"tc\" value=\"$tcislo2\"> </form>"; if ($_POST['tip'] < ($tcislo2)) { echo "Moje číslo je větší!"; } else if ($_POST['tip'] > ($tcislo2)) { echo "Moje číslo je menší!"; } } } Moderátor Str4wberry: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
Houska Profil * |
Za to nepoužívání [>pre] a [>/pre] se omlouvám, až teď jsem byl poučen. :)
Moderátor Chamurappi: Ovšem na hloupý titulek jsi byl upozorněn už před odesláním. Někdo to bude muset přejmenovat.
|
||
Str4wberry Profil |
#3 · Zasláno: 4. 1. 2011, 17:40:47
A to je celý kód? Jak se s tím pracuje? Pokud dobře vidím, tak podmínka
if ($tip !== false && is_numeric($tip)) zajistí, že se při spuštění neobjeví vůbec žádný formulář k ovládání.
|
||
Houska Profil * |
#4 · Zasláno: 4. 1. 2011, 17:43:23
No, jestliže podmínka bude splněná, to je tuším, když uživatel odešle formulář, tak se spustí ten formulář, co je v té podmínce. Nebo, že by právě tam byla chyba?
|
||
Houska Profil * |
#5 · Zasláno: 4. 1. 2011, 17:44:20
tohle je tedy všechno, co k tomu mám. Má se jedna o hádání čísla v intervalu a nechtěl jsem používat session proměnné, tak jsem to udělal pomocí toho skrytého formuláře.
|
||
Houska Profil * |
#6 · Zasláno: 4. 1. 2011, 17:45:16
Možná jsem to ale celé pojal špatně, zas tak úplně se v PHP taky nevyznám, právě proto se obracím na tuhle alternativu. Už jsem si nevěděl rady s tím.
|
||
lordfrikk Profil |
#7 · Zasláno: 5. 1. 2011, 16:59:04
Jak řekl Str4wberry, ta podmínka zamezuje, aby se vůbec zobrazil formulář, takže uživatel ani nemůže začít hádat. Podmínka musí být dána takto:
a) pokud není zadán žádný tip, tak se zobrazí úvodní formulář, kde ho uživatel může zadat b) pokud tip zadán je, tak se kontroluje, zda-li se shoduje s myšleným číslem: 1) pokud ano, zobrazí se, že uživatel uhodl 2) pokud ne, zobrazí se formulář, kde uživatel může zadat další tip, přičte se pokus |
||
Houska Profil * |
#8 · Zasláno: 6. 1. 2011, 00:15:36
Neuvědomil jsem si svoji chybu. Už to šlape jak má. Děkuji.
|
||
Časová prodleva: 13 let
|
0