Olisi ongelma PHP:n $_POST -muuttujaan liittyen...
Eli minulla on php-sivu, jonne on lähetty tietoa toiselta php-sivulta lomakkeen kautta $_POST -muuttujan avulla. Tällä uudella php-sivulla on niin ikään lomake, josta on takoitus lähettää tietoa $_POST -muuttujaa käyttäen. Mutta ongelmana on se, että kun lähetän tältä uudelta lomakkeelta tietoa, niin tuo edellisellä sivulla $_POST:iin tallentunut tieto katoaa...
Onko asialle tehtävissä mitään?? Ja toivottavasti ymmärsitte sekavan kysymyksen... :)
Eli minulla on php-sivu, jonne on lähetty tietoa toiselta php-sivulta lomakkeen kautta $_POST -muuttujan avulla. Tällä uudella php-sivulla on niin ikään lomake, josta on takoitus lähettää tietoa $_POST -muuttujaa käyttäen. Mutta ongelmana on se, että kun lähetän tältä uudelta lomakkeelta tietoa, niin tuo edellisellä sivulla $_POST:iin tallentunut tieto katoaa...
Onko asialle tehtävissä mitään?? Ja toivottavasti ymmärsitte sekavan kysymyksen... :)
Vastaukset 7
Vanhimmat
tiedot uuden lomakkeesi hidden tyyppiseen kenttään vaikka pötkään ja purat ne sitten kun tarvit niitä.
Eli uudessa lomakkeessa olisi kenttä
Nuo data1 jne- kaivat tietenkin ekasta POSTista ja pistät tonne talteen.
Sitten kun saavut viimeiselle lomakkeelle, niin sulla on kaikki tarvitsemasi tieto. Voit tietty tehdä jokaiselle ensimmäimmäisen POSTin tiedolle oman hidden-muuttujan, jos se tuntuu helpommalta.
...sen "vanhan" POST:n sisältö voi vaihdella, koska lomakkeelta on mahdollista lähettää eri tietoja. Ja valuen arvoksi ei kai voi laittaa muuttujaa?
Pitikin vain laittaa se muuttuja php-tagien sisään. Eli nyt näyttäisi toimivan :) Kiitos!
että, hidden kentänkin arvoa käyttäjä voi muuttaa. Kannattaa myös tutustua PHP:n session-functioihin, ne ovat usein kätevämpiä kuin toi hidden juttu.
Niin mitenkähän sä hidden kentän arvoa muutat? Kerropa toki meillekin, herra Puhuu-paljon-tietää-vähän.
*Niin mitenkähän sä hidden kentän arvoa muutat? Kerropa toki meillekin, herra Puhuu-paljon-tietää-vähän.*
Sehän on helppo homma. Eihän scripti tee mitään eroa sillä onko kenttä hidden tai ei, selain ei vain näytä hidden kenttää. Yksinkertaisimmillaan näin osoiteriville http://xxx.com/lomake.php?hidden_kenttä=jihaa_muutin_tätä&xx=yy jne... (tässä lähetetään lomakkeen muut tiedot)
Toi toimii mikäli lomake lähetetään GET metodina
POST metodilla homma menee hieman eritavalla, esim tallennetaan lomake omalle koneelle ja muutetaan hiddenin tyypiksi text, ja lähetetään lomake muutetuin arvoin.
Jos scripti vaatii referer-tiedon, niin silloin asia muuttaa hitusen vaikeammaksi, mutta sekin on tarvittaessa todella helppo lähettää halutunlaisena se käy helposti esim PHP:llä Tarvittava tieto löytyy manuaalista jos kiinostaa.
Mikä syöte/tieto tulee käyttäjältä päin, niin siihen ei todellakaan kannata luottaa, eikä sen varaan rakentaa turvallisuutta. Jos tiedon on ehdottomasti pysyttävä muuttumattomana, niin silloin sessioniin vain tieto, se kun tallennetaan palvelimelle, jolloin käyttäjä ei sen tietoa pysty muuttaa.
Hyvin usein sivujen krakkerointiin on syynä koodarin asenne, eihän tätä arvoa pysty kukaan muuttaa sekä eihän kukaan keksi muuttujan/admin sivun nimeä jos sen nimeää yy eikä xx
Yleensä nää jutut hoidetaan tallentamalla tiedot sessioon tai keksiin tai jopa tietokantaan...
Ei sit tarvi arpoo ja tehdä liian monimutkaista systeemiä...