Autor Zpráva
Hricer
Profil *
Prosím Vás,

Měl bych dotaz, odesilaci tlacko <input type="submit" value="Uložit"> ve formulari prenasi nejakou hodnotu (promennou) ? To by znamenalo, ze by mohla mit name ? Abych byl presnejsi, mam dve tlacitka (v jednom tagu <form>), ale kazde ma vykonat jinou akci. Jak ma PHP script potom poznat jakou akci ma vykonat, neboli jake tlacitko bylo stisknuto ? Napadlo me pouze takovy priklad, je to spravne ?

<form action="index.php" method="post">
<input name="pole1" class="formular" value="nejake pole" />
<input type="submit" name="sub1" value="Uložit">
<input type="submit" name="sub2" value="Uložit jinak">
</form>

<?php

if($sub1){
echo "Bylo stisknuto tl. Ulozit";
}
elseif($sub2){
echo "Bylo stisknuto tl. Ulozit jinak";
}

?>
Pokud by to bylo dobre, jakou hodnotu by obsahovala promenna $sub1 ?
djlj
Profil
Hricer
Být tebou bych použil superglobální proměnné:

if(isset($_POST['sub1'])){
echo "Bylo stisknuto tl. Ulozit";
}
elseif(isset($_POST['sub2'])){
echo "Bylo stisknuto tl. Ulozit jinak";
}

No a proměnné by měly hodnotu „Uložit“ respektive „Uložit jinak“.
Hricer
Profil *
djlj: dekuji, a proc by se meli pouzivat tyto superglobalni promenne ? Server to pozna i tak, nebo ne ?
djlj
Profil
Hricer
Ano, pozná, ale když ti někdo napíše do adresy &sub1=a, tak si tvůj script bude myslet, že byl odeslán formulář, i když nebyl ;).
Hricer
Profil *
jo vlastne, to me vubec nenapadlo :)
Alphard
Profil
Server to pozna i tak, nebo ne ?
Záleží na nastavení, nemusel by.
Szkepek
Profil
záleží na nastavení register_globals v souboru php.ini na serveru... Troufnu si říct, že většina serverů ho má defaultně vypnutý
Toto téma je uzamčeno. Odpověď nelze zaslat.