Amikor egy formot elküldünk egy PHP sciptnek, a form összes változója a PHP segítségével automatikusan elérhetővé válik a szkript számára. Ha a track_vars szolgáltatás be van kapcsolva, ezek a változók a $HTTP_POST_VARS, $HTTP_GET_VARS, és/vagy $HTTP_POST_FILES, asszociatív tömbökben foglalnak helyet a változók forrásának megfelelően.
További információkért ezekről a változókról olvasd el az Előre definiált változók című részt.
Ha elküldjük a fenti űrlapot, a PHP létrehozza a $HTTP_POST_VARS['username'] változót. Ha a register_globals beállítás aktív, ez a változó elérhető lesz $username globális változóként is.
A PHP a csoportosított form változókból tömböket származtat. Például hasznos lehet csoportosítani az összetartozó változókat, vagy az olyan form elemeket, ahol több lehetőség közül nem csak egy választható.
PHP 3-ban ilyen módon csak egydimenziós tömbök hozhatóak létre, míg PHP 4-ben nincs ilyen korlátozás.
Form elküldésekor megoldható, hogy gomb helyett képet használunk egy ilyesféle tag segítségével:
Ha a felhasználó a képre kattint, az elküldött form adatok, amik a szerverhez eljutnak, két speciális változót tartalmaznak: sub_x-et és sub_y-t. Ezek tartalmazzák a kattintás képen belüli koordinátáit. A tapasztaltabbak biztos megjegyeznék, hogy a változónevek, amiket a server megkap, nem is aláhúzást, hanem pontot tartalmaznak, de a PHP a pontot automatikusan aláhúzássá konvertálja.
A PHP támogatja a Netscape specifikációja által definiált HTTP cookie-kat. A cookie egy mechanizmus, ami távoli böngészőn tesz lehetővé adattárolást, és így lehetővé teszi a visszatérő felhasználók azonosítását. Cookie-kat a setcookie() függvénnyel lehet beállítani. A cookie-k a HTTP fejléc részei, így a SetCookie függvényt bármilyen kimenet generálása előtt kell meghívni. Ugyanezt a megkötést kell betartani a header() függvénnyel. Bármilyen cookie, amit küldenek neked a klienstől, automatikusan egy PHP változóba kerül, úgy, mint a GET és a POST metódus adatai.
Ha több adatot akarsz rendelni egy cookie-hoz, egyszerűen rakj []-t a cookie neve után. Például:
Vigyázz, mert egy cookie felülírja az előző azonos cookie-t, hacsak nem különbözik a path vagy a domain. Így egy bevásárlókocsiféleséghez jó odarakni egy számlálót, hogy megkerüljük a problémát.
A PHP automatikusan létrehozza az elérhető környezeti változókat, mint mezei PHP változókat.
Mivel az információ ami a GET, POST és Cookie mechanizmuson keresztül jön, mind automatikusan PHP változókat generál, ezért néha jobb, ha direkt a környezeti változókból olvassuk ki, hogy tudjuk, valójában melyik változatból olvasunk. A getenv() függvényt lehet erre használni. A környezeti változókat be is lehet állítani a putenv() függvénnyel.
Általában a PHP nem változtatja meg a változók neveit, amikor a szkript megkapja őket. A pont viszont nem érvényes karakter egy PHP változóneven belül. Az ok megértéséért nézd csak:
$varname.ext; /* érvénytelen változónév */ |
Emiatt fontos, hogy PHP automatikusan helyettesíti a pontokat aláhúzásjellel.
Mivel a PHP határozza meg a változók típusát és konvertálja őket (általában) szükség szerint, nem mindig nyilvánvaló, hogy milyen típusú egy pillanatban egy adott változó. A PHP-nek számos függvénye van, amelyek egy változó típusát hivatottak eldönteni. Ezek: gettype(), is_long(), is_double(), is_string(), is_array(), és is_object().