משתנים מוגדרים מראש
PHP מספקת משתנים גלובליים רבים הנותנים מידע על השרת, על הלקוח ועל התוכנית הנוכחית שרצה, וניתן להשתמש בהם בכל מקום בתוכנית (ללא צורך בהצהרה על global בתוך פונקציות, יוסבר בהמשך). משתנים אלו נתונים בצורה של מערכים, שהמפתחות שלהם מגדירים את סוג המידע. כמה מן המערכים הגלובליים הללו הם:
$GLOBALS - מכיל את כל המשתנים הגלובליים שהוגדרו עד כה בתוכנית (ייחוס ע"י מצביע), כך ששמות המפתחות בו הם שמות המשתנים הגלובליים של התוכנית.
$_SERVER ($HTTP_SERVER_VARS )- משתנים שהוגדרו ע"י השרת, ומכילים מידע על השרת שעליו רצה תוכנית ה-PHP.
$_GET ($HTTP_GET_VARS )- משתנים שמספקים מידע על HTTP GET (נתונים שנשלחו לקובץ דרך מתודת GET).
$_POST ($HTTP_POST_VARS )- משתנים שמספקים מידע על HTTP POST (נתונים שנשלחו לקובץ דרך מתודת POST).
$_COOKIE ($HTTP_COOKIE_VARS )- משתנים שמספקים מידע על HTTP COOKIES (עוגיות).
$_SESSION - משתנים שרשומים בדיון (session) הנוכחי.
$_FILES - משתנים שמספקים מידע על HTTP POST FILE UPLOADS (פתיחת קבצים).
$_ENV ($HTTP_ENV_VARS )- משתנים שמספקים מידע על הסביבה שבה רצה התוכנית.
$_REQUEST - משתנים שמספקים מידע על נתונים שנשלחו לקובץ דרך כל מתודה שהיא (GET, POST, COOKIE, FILES, SESSION), ולכן לא ממש בטיחותית לשימוש.
המערכים שרשומים בסוגריים מגדירים את אותו המערך שרשום מחוץ לסוגריים. ההבדל בין 2 המערכים הללו, הוא שהמערך שמתחיל עם $_* הוא מערך גלובלי שנגיש בכל מקום בתוכנית (גם בפונקציות, בלי הצהרת global ), ואילו המערך שרשום בסוגריים המתחיל עם $HTTP_ הוא מערך גלובלי שלא נגיש בפונקציות ובמחלקות ללא הצהרת global . כיום מרבים להשתמש במערכים של $_* , גם אם לא בתוך פונקציות.
כדאי להזכיר כאן שני משתנים מוגדרים מראש (של $_SERVER ) שמאוד חשובים ושימושיים: * $PHP_SELF - מכיל את כתובת ה-URL של הדף הנוכחי. רצוי מאוד להשתמש במשתנה זה מאשר לכתוב באופן מפורש את הכתובת לדף הנוכחי, כי אם משנים את המיקום של הדף, הכתובת שלו משתנה בהתאם, ואם לא משתמשים במשתנה זה, יהיה צורך לשנות את הכתובת לדף הנוכחי בכל מקום שהוא כתוב במפורש. * $REMOTE_ADDR - מכיל בתוכו את כתובת ה-IP של מחשב הלקוח.
מידע נוסף על המערכים הגלובליים של PHP תוכלו למצוא באתר הבית של PHP בקישור הבא: Predefined Variables.
מתן ערך למשתנה | 02-12-03 07:02 רמי חגג | #717 |
| תודה עבור האתר הניפלא.
איך יוצרים מצב, שבו המשתמש בתוכנית מכנים ערך למשתמש?
רמי |
|
טפסים | 02-12-03 11:01 אלי חן (מנהל) | #726 |
| לא ממש הבנתי אותך, אבל יכול להיות שהתכוונת לשימוש בטפסים (form) שבאמצעותם ניתן לשלוח ערכים מהמשתמש אל התוכנית ב-PHP.
(ראה את התגים FORM ו INPUT). |
|
איך ולמה? | 04-12-03 18:01 חי עזורי | #838 |
| לא הבנתי איך משתמשים בזה, באיזה מצב משתמשים בזה ולמה זה עוזר |
|
זה עוזר... | 08-12-03 05:01 טל | #1015 |
| לדוגמה שעושים פורמים אם רוצים לסלק משתמש וגם למנוע ממנו לעשות משתמש חדש משתמשים ב-
$_SERVER ($REMOTE_ADDR)
כדי למנוע ממנו להרשם שוב |
|
לא תמיד... | 08-12-03 05:00 אלי חן (מנהל) | #1042 |
| לרוב המחשבים הביתיים יש כתובת IP משתנה.. זאת אומרת שבחיבור הבא לאינטרנט, סביר להניח שהמשתמש יקבל כתובת IP אחרת.. ואז החסימה לא תפעל עליו. חוץ מזה שאת כתובת ה-IP שחסמת, יוכל לקבל משתמש אחר, ואז הוא יחסם ללא עוול בכפיו.. ;)
אז העניין הזה קצת מורכב יותר.. |
|
אז איך? | 09-12-03 04:02 טל חדד | #1094 |
| אז איך הם חוסמים בכל זאת?
ללא עוגיות.
נ.ב:אני ראיתי שעניתה על השאלה הזאת אים אני לא טועה זה מה שכתבת:
"תחשוב על אפשרות לבדוק בעזרת העוגיות אם ה ip השתנה וגם ההפך" אבל מכיוון שיצאה גרסה גבוהה יותר, אין אפשרות לעשות בה? כי בכל זאת הם מצליחים לחסום,או שלא |
|
חסימת משתמש | 09-12-03 18:02 אלי חן (מנהל) | #1128 |
| חסימת משתמש אנונימי (שאינו רשום במערכת משתמשים) ניתן לחסימה ע"י session, עוגיות וסימון IP כחסום. כל אחת משלושת החסימות הללו ניתן לשבור בקלות, ולכן החסימה לא ממש יעילה. |
|
משתנה גלובלי.... | 31-10-03 02:01 [ללא שם] | #1175 |
| איך אני יכול לעשות שמשתנה כלשהו ישמר כך שאם משתמש אחד קידם אותו ב-1 ומשתמש אחר גם קידם אז המשתנה קודם ב 2.... כמו APPLICAIOTN ב ASP..... |
|
תגדיר את המשתנה כגלובלי | 31-10-03 17:01 אלי חן (מנהל) | #1206 |
| אם הינך נמצא ב-global, אז כל משתנה שתגדיר שם יהיה גלובלי. בתוך פונקציות, יש לציין במפורש שהמשתנה הוא גלובלי (global), או להשתמש במערך הקבוע $_GLOBALS... |
|
שאלה | 01-12-04 15:01 גיא | #1396 |
| כאשר אני כותב:$PHP_SELF
בתצוגה מופיע לי בעצם מיקום הקובץ על הדומיין, זאת אומרת:
/bla/bla.php
איך אני יכול להציג את הכתובת המלאה(כולל דומיין)?
זאת אומרת:
www.domain.com/bla/bla.php |
|
| תרשום זאת כך
$SERVER_NAME$PHP_SELF |
|
איך צריך לרשום את המשתנים הקבועים? | 04-12-05 14:01 נעם קייזר | #2177 |
| ניסיתי לעשות כמה דברים אבל אני לא מצליח להפעלי את המשתנים המוגדרים מראש
רשמתי:
<?php echo "your ip is:$_SERVER($REMOTE_ADDR)";?>
ושיניתי את הסוגריים ל[] וזה לא פעל רק יצא לי כך:
your ip is:Array() |
|
לא הבנתי | 06-12-05 17:01 כהן חח | #2503 |
| ?איך מציגים את התדברים ניסיתי ככה מה לא טוב
<?
echo "$PHP_SELF ";
?>
גם ניסיתי לשים במשתנה ואז להדפיס וזה עדין לא טוב איך עושים??
תודה לעוזרים |
|
GLOBALS | 07-12-05 00:01 אופק גולן | #2556 |
| אני לא הבנתי איך אני יכול להגדיר משתנה גלובאלי.. |
|
|
|
|
|
הוספה למועדפים:
|