כאשר נשלח טופס לסקריפט PHP , כל המשתנים מטופס זה יהיו זמינים בסקריפט. אם ההגדרה של track_vars מאופשרת, משתנים אלו ימוקמו במערכים האסוציאטיבים $HTTP_POST_VARS, $HTTP_GET_VARS, ו\או $HTTP_POST_FILES, בהתאמה למקור המשתנים.
למידע נוסף בנושא יש לעיין בפרק משתנים מוגדרים מראש.
כאר הטופס הנ"ל נשלח, הערך שמכיל שדה הטקסט בטופס יהיה זמין במשתנה $HTTP_POST_VARS['username']. אם אופציית register_globals מאופשרת, המשתנה יוגדר גם כמשתנה $username שמוגדר בטווח המשתנים הגלובלי.
הערה: כאשר הוראת הקונפיגורציה magic_quotes_gpc מאופשרת, מושפעים ערכי משתנים של GET, POST וערכי עוגיות באופן שערך כמו (It's "PHP!") ישתנה בצורה אוטומטית ל (It\'s \"PHP!\"). תהליך זה נדרש לצורך הכנסת מידע לבסיס נתונים. יש לעיין גם במידע על addslashes(), stripslashes() ו- magic_quotes_sybase.
PHP מבינה גם תכני מערכים של טפסים. (יש לעיין בשאלות ותשובות למידע נוסף). אפשר למשל להשתמש בתכונה זו על מנת לאחד משתנים מסויימים לקבוצות או לקלוט מידע מתיבת בחירה רבת אפשרויות.
ב- PHP 3 קיימת הגבלה למימד אחד בלבד במערכי הטפסים. ב- PHP 4 לא קיימת הגבלה כזו.
ניתן להגדיר תמונה ככפתור שליחה של טופס במקום כפתור שליחה סטנדרטי:
כאשר המשתמש ישלח את הטופס, משתני הטופס יועברו אל השרת ובנוסף יועברו משתנים המציינים את מיקום הלחיצה של העכבר בתמונה ויוגדרו כ- $sub_x ו-$sub_y. יש לציין ששם המשתנה המקורי מכיל נקודה שמומרת ל קו-תחתי על-ידי PHP באופן אוטומטי.
PHP תומכת בצורה שקופה בעוגיות HTTP לפי הגדרתן ב- Netscape's Spec. עוגיות הן מנגנון המאפשר אגירת מידע בדפדפן ועל ידי-כך מאפשרות מעקב או זיהוי המשתמשים. ניתן להגדיר עוגיה בעזרת הפונקציה setcookie(). עוגיות הן חלק מכותר ה- (HTTP header) HTTP ולכן קריאה לפונקציה setcookie() חייבת להתבצע לפני שנשלח פלט כלשהו לדפדפן. הגבלה זהה חלה גם על הפונקציה header(). כל עוגיה שנשלחת מהלקוח הופכת באופן אוטומטי למשתנה PHP בדומה לאופן הפעולה בשימוש ב שיטות GET ו- POST.
ניתן לקבוע לעוגיה אחת מספר ערכים על-ידי הוספת [] לשם העוגיה. לדוגמה:
יש לציין כי עוגיה שנקבעה תדרוס ערכים קודמים של עוגיה בעלת שם זהה אלא אם מדובר בנתיב שונה או שם domain שונה כך שלבניית אפליקציה של עגלת קניות, יש צורך להגדיר מונה ולהעבירו הלאה. לדוגמה:
PHP מגדירה באופן אוטומטי משתני סביבה כמשתני PHP רגילים.
מאחר שגם המידע המגיע בעזרת GET, POST ומנגנון העוגיות נוצר כמשתנה PHP רגיל בסקריפט, לפעמים עדיף לקרוא את משתנה הסביבה היישר מהסביבה כדי לוודא שהתקבל הערך מהמקור הנכון. פונקציית getenv() משמשת לצורך זה. ניתן גם לקבוע משתנה סביבה בעזרת הפונקציה putenv().
בדרך-כלל PHP לא תשנה את שם המשתנה המועבר לסקריפט. אולם, יש לציין כי תו הנקודה אינו תו תקין בשם משתנה. מסיבה זו הדוגמה הבאה לא תקינה:
$varname.ext; /* invalid variable name */ |
מסיבה זו חשוב לציין שכאשר PHP מקבלת שם משתנה עם נקודה, הנקודה תוחלף בקו-תחתי.
ב- PHP אין הפרדה בין סוגי משתנים ובדרך-כלל התבצעות המרות לפי הצורך ולכן לא תמיד ברור מהו סוג המשתנה בכל זמן נתון. ב- PHP מספר פונקציות למציאת סוג המשתנה: gettype(), is_long(), is_double(), is_string(), is_array(), ו- is_object().