...
Jokaisessa palvelun lomakkeessa on piilotettu kenttäkaksi piilotettua kenttää, joka liitetään käyttäjän lähettämiin tietoihin. Se
"action" määrittää , minkä toiminnon lomake suorittaa:.
Code Block |
---|
<input name="action" type="hidden" value="new_message" />
|
"token" mahdollistaa sen lomakkeen yksilöinnin, josta käyttäjä on lähettänyt tiedot.
Code Block |
---|
<input name="token" type="hidden" value="new_message" /> |
Ensimmäiseksi tarkistamme onko käyttäjän lähettämää dataa olemassa. Se tehdään selvittämällä onko tietoihin liitetty aikaisemmin mainitsemani action-kenttä. Jos sitä ei suoritetatarkisteta, tapahtuu virhe lähetetyn datan puuttuessa.
Code Block |
---|
// Check if there's post data if (isset($_POST['action'])){ ... } |
Tämän jälkeen varmistamme, että tiedot on lähetetty lomakkeesta, joka oikeasti sijaitsee sivullamme (vrt. istunnon luominen).
Code Block |
---|
// our security check from session cookie
if($_SESSION['token'] == $_POST['token'] && $_SESSION['session'] == md5($_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']))
{
...
}
|
Edellisen ehtolausekkeen sisältä löytyy varsinainen käyttäjän lähettämän tiedon käsittely.
Toiminto valitaan selvittämällä action-kentän arvo, jonka PHP on tallentanut post-datan sisältävään $_POST-muuttujaan.
...