Kyllä mulla ennen on toiminut, mutta nyt en saa yksinkertaisintakaan dataa siirrettyä lomakkeella.
Kaksi yksinkertaista sivua, miksei jälkimmäinen naytä annettua sanaa (eli muuttujaa $sana)?
Kirjoita sana
Annettu sana on
Voikohan hotelli olla muuttanut jotain. Ei toimi myöskään action="get".
Toimii ainoastaan jos käytän gettiä ja pistän alkuun
En kuitenkaan halua siirrellä tietoja osoiterivillä.
Kaksi yksinkertaista sivua, miksei jälkimmäinen naytä annettua sanaa (eli muuttujaa $sana)?
Kirjoita sana
Annettu sana on
Voikohan hotelli olla muuttanut jotain. Ei toimi myöskään action="get".
Toimii ainoastaan jos käytän gettiä ja pistän alkuun
En kuitenkaan halua siirrellä tietoja osoiterivillä.
Vastaukset 7
Vanhimmat
Juu hotellisi muuttanut register_globall = off asentoon, joka on hyvä juttu. PHP6 tuota asetusta ei enään edes ole.
Käytä $_POST['sana']
Lukases http://fi.php.net/reserved.variables siinä on kaikki mitkä muuttui tuon asetuksen myötä.
Miten käytännössä teen nuo mainitsemani sivut?
alustat nuo postatut muuttujat $sana =$_POST['sana'];
ja sit toimii echo $sana;
tai käytät muuttujana suoraan $_POST['sana']
eli echo $_POST['sana'];
Sama juttu get:in kanssa.
vaikkapa
echo "nimesi on {$_POST['nimi']}, juu jee";
jos kaivat muuttujat postista $_POST['sana']
niin muuta lomakkeen method="POST"
Nimi:
Muissa viesteissä taisikin tulla esille että palvelimella on register_globals asetus pois päältä, tämän vuoksi lomakkeen kentistä ei tehdä saman nimisiä muuttujia vaan ne löytyvät $_POST['kentan_nimi'] ja $_GET['kentan_nimi'] taulukoista.
Tuolla ei kuitenkaan pitäis olla sellaista vaikutusta $_POST[] taulukko käyttäytyisi erillälailla kuin $_GET[].
Nyt hommat toimii.
Miksikäs noita muuten muutellaan?