Autor Zpráva
David1256
Profil
Mám takový dotaz, potřebuju ošetřit, aby se mi do inputu zadávali jen čísla, když tam bude například něco typu string vypíše to hlášku třeba - Nezadal jsi číslo.

zkoušel jsem něco s if (is_string ($cislo1)) {echo "Nezadal jsi číslo";}

Ale pořád mi to nějak nefunguje, už to zkouším asi po 50ty, asi někde dělam pořád chybu, ale nevím kde.

<?php
define("NR","<br>\n") ;
if (isset($_GET["cislo1"]) and  isset($_GET["cislo2"])) 
{
if($cislo1>$cislo2)
{
if($cislo1>$cislo2)
{$max=$cislo1;
} 
else 
{$max=$cislo3;
} 
}
else
{if($cislo2>$cislo3)
{
$max=$cislo2;
}
else
{
$max=$cislo3;
}
}
{
echo NR."<center><h1>Největší číslo je $max.</h1></center>";
} 
}
 ?>
Radek9
Profil
David1256:
Asi hledáš is_numeric().
Majkl578
Profil
Na základní kontrolu is_numeric (proleze i 45e6) nebo regulár.
Pokud ve formuláři použiješ pole (cisla), můžeš v PHP na hledání nejvyšší hodnoty použít elegantně funkci max (to jde i na jednotlivé hodnoty, ale není to tak elegantní).
Mastodont
Profil
Jestli to má být kontrola "jen číslice", tak ctype_digit()
David1256
Profil
No ty alternativy k - if (is_string ($cislo1)) {echo "Nezadal jsi číslo";} mi moc nepomohli, asi mám někde chybu v zápisu, kdybyste byl někdo tak hodný, mohl byste mi to aplikovat v mém kódu?

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:

0