| 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: 16 let
|
|||
0
).