Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.

...