משתני PHP Superglobal ו- Register_Globals
ל- PHP סוג משתנה מיוחד הנקרא superglobal. הסיבה שמשתנים אלה מיוחדים היא מכיוון שהם זמינים אוטומטית לכל תוכנית PHP מבלי שהמתכנת יצר או הגדיר אותם בתוכנית שלו. אתה יכול לחשוב עליהם כמשתנים "מובנים".

הדרך לגישה למשתנים אלה שונה תלויה אם register_globals מופעל או כבוי בשרת שלך. לפני גרסת ה- PHP גרסה 4.2, register_globals הופעל כברירת מחדל. עם זאת לעשות מסיבות ביטחוניות; הגדרה זו מבוטלת כברירת מחדל (גרסה 4.2+). כמובן שאנשים המפעילים את השרת שלך מחליטים אם לבטל את הגדרת ברירת המחדל ולהפעיל את register_globals. הדרך הקלה ביותר לבדוק את השרת שלך היא להשתמש ב- phpinfo (). ככל הנראה יהיה לך קישור לדף אינטרנט זה באזור הניהולי של האתר שלך. בדף אינטרנט זה תוכלו למצוא את החלק PHP Core תצורה הכולל מידע זה.

כאמור, תוכלו לגשת לסופרגלובלים בצורה שונה בהתאם להגדרת השרת שלכם. עבור הגדרת השרת החדשה קיבלו superglobals שמות חדשים. אם לשרת שלך עדיין יש את ההגדרה הישנה, ​​עדיף להתחיל להשתמש בשמות החדשים בכל מקרה. אם אתה משתמש בשמות חדשים אלה אתה יכול להיות בטוח שהתוכניות שלך יעבדו בשתי תצורות השרת. עם זאת, זה לא המקרה עבור השמות הישנים. הם יפעלו רק לתצורת השרת הישנה. התרשים למטה מציג את השמות הישנים והחדשים ותיאור של הסופרגלובלים. שימו לב כי שמותיהם של superglobals אלה הם בכל אותיות רישיות.

חדשישןתיאור
$ _GET $ HTTP_GET_VARS Superglobal זה מכיל את המשתנים שנשלחו לתוכנית בשיטת get כגון מחרוזת גרירי.
$ _POST $ HTTP_POST_VARS Superglobal זה מכיל את המשתנים שנשלחו לתוכנית בשיטת ההודעה.
$ _ קוקי $ HTTP_COOKIE_VARS Superglobal זה מכיל את המשתנים העומדים לרשות התוכנית מתוך קובץ cookie.
$ _ESSESS $ HTTP_SESSION_VARS Superglobal זה מכיל את המשתנים שנרשמו על ידי התוכנית באמצעות הפעלה.
$ _FILES $ HTTP_POST_FILES Superglobal זה מכיל את המשתנים הזמינים מהעלאת קובץ.
$ _ENV $ _HTTP_ENV_VARS Superglobal זה מכיל את המשתנים הזמינים מסביבת השרת.
$ _ REQUEST -- Superglobal זה מכיל את המשתנים שנשלחים לתוכנית על ידי כל סוג קלט משתמש. זהו הסוג הכללי או האוניברסאלי ביותר של superglobal.
$ _שרבר -- Superglobal זה מכיל מידע על השרת כמו נתיבי קבצים.