Autor Zpráva
mvilda
Profil
Dobrý den mohli by jste mi poradit. Potřeboval bych, když někdo napíše do inputu například 5+5, aby php vypsalo 10.
Přikládám kód

<form action="" method="POST">
<input type="text" name="text">
<input type="submit" value="Odeslat">
</form>

<?php
$text = $_POST["text"];
if($text != ""){
echo $text;
}
?>
DJ Miky
Profil
Jednoduché, ale zároveň opravdu silně nedoporučované řešení je eval(), který vyhodnotí zadaný výraz. Nutno říci, že kromě matematických výrazů to vesele vyhodnotí i PHP kód, což ti může kdejaký návštěvník zneužít a celkem snadno získat kontrolu nad celým webem. Proto je taky eval() většinou na hostinzích zakázaný. O něco málo bezpečnější by bylo omezit vstupní data na čísla a základní operátory.

Pokud ti jde jenom o jednoduchou operaci nad dvěma čísly, pak se můžeš inspirovat třeba tímto tématem. Pro složitější výrazy (více operátorů, závorky, popř. i funkce) ti nezbyde nic jiného, než si napsat vlastní vyhodnocovač.
mvilda
Profil
Jo díky moc
Spectator
Profil
Napiš to v javascriptu.

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: