רוצה לעזור?
אם אתה מעוניין לעזור לנו בפיתוח האתר, באפשרותך לשלוח מאמר\מדריך אל רשימות המאמרים שלנו, תודה על שיתוף הפעולה, הנהלת האתר.
|
|
דף ראשי -> תכנות ובניית אתרים -> תיכנות ובניית אתרים בעזרת PHP -> קבלת נתונים דרך URL (שימוש ב- GET_$ )
|
| קבלת נתונים דרך URL (שימוש ב- GET_$ ) |
|
|
קבלת נתונים דרך URL
בדפים רבים במערכות דינאמיות יש דפים שנראים כך:
filename.php?id=453
מה זה בעצם אומר?
הסימן שאלה אחרי ה- php. מתחיל שליחת נתונים דרך ה-URL.
זה טוב בכדי לנהל עשרות, מאות, אלפי ואפילו מיליוני דפי תוכן רק דרך קובץ אחד! (בשימוש עם מסד נתונים).
ניתן לשלוח את הפרמטר הזה בצורה פשוטה מאוד כך:
bla.com/show-page.php?pid=1
זו סתם דוגמא והפרמטר PID שווה ל-1, ניתן לגשת את הפרמטר (משתנה) pid דרך קוד PHP ככה:
|
קוד
|
$page_id = $_GET["pid"];
|
פה בעצם הכנסנו למשתנה page_id$ את מספר העמוד שנשלח לנו בכתובת, לאחר מכן נוכל לעשות עם הפרמטר הזה כל מה שנרצה, למשל נוכל לשלוף את העמוד ממסד הנתונים שלנו שהמספר שלו שווה ל-1.
דוגמא קצרה:
|
קוד
|
select * from pages where pid='$pid'
|
זו בעצם שאילתא שמבקשת מהטבלה (pages) שנמצאת במסד הנתונים שלנו את העמוד שהמספר שלו הוא שווה למשתנה pid$ (בדוגמא שלמעלה - עמוד מספר 1 ).
הערה: אל תדאגו לגבי שאילתות ושימשו במסד נתונים נלמד במדריך אחר.
בדרך זו נוכל לפתוח בלי סוף עמודים תחת קובץ אחד!
file.php?pid=1
file.php?pid=2
file.php?pid=3
file.php?pid=4
כמובן במקום להשים את המשתנה pid=345 אפשר גם להשים כל משתנה אחר, אבל נצטרך לגשת אליו בהתאם.
דוגמא:
file.php?Page_Number=1
וניגש אליו ככה (עם המשתנה הגלובאלי GET_$):
|
קוד
|
$page_number = $_GET["Page_Number"];
|
הערה: למידע שמייובא לכם דרך ה-URL (הכתובת) אפשר לגשת רק בעזרת המשתנה הגלובאלי [""]GET_$ ובין הסוגריים יש לשים את שם המשתנה שמופיע ב-URL שאתם בוחרים.
אל תשכחו שיש רגישות לאותיות גדולות וקטנות!
דוגמא נוספת לשימוש בהעברת מידע דרך הכתובת ב-PHP
בחלק ממערכות פורומים לדוגמא או בזמן בניית אתרים לפעמים לא יהיו עמודים כאלו:
show-page.php
news.php
show-topic.php
אלא תראו משהו כמו:
index.php?f=show-page
index.php?f=news
index.php?f=show-topic
בעצם מה שרואים בשלושת הקבצים השנייה זה שבמקום לנווט את הגולש לכתובת של קובץ מסויים,
אתם בעצם מנהלים את הכניסה (גישה אל הקבצם באתר) דרך קובץ יחיד.
תוכלו לראות שכל פעם המשתנה f ב-URL (כתובת האתר) מכיל מידע שונה (show-page/news/show-topic).
לפני שנמשיך, עליכם להכיר פונקציה שמכניסה אל קובץ מסויים - קובץ אחר, דוגמא:
|
קוד
|
include_once "filename.php";
|
נגיד שיש לנו קובץ A.php וקובץ B.php בקובץ A יש לנו חלק העליון של האתר ובקובץ B יש חלק תחתון של האתר.
כדי לשלב בניהם אנו נשתמש בפונקציה שהזכרנו למעלה, ככה:
|
קוד
|
innclude_once "B.php";
|
הפונקציה הזו צריך להיות בתוך הקובץ A.php והכי למטה (מכוון שאנו מייבאים את הקובץ B.php והוא החלק התחתון של האתר).
הערה: זה רק סריקה מהירה על הפונקציה Include_once במדריך אחר תוכלו ללמוד עוד אודות הפונקציה השימושית הזו.
אז נזכור למה שאמרנו קודם, במקרה שאתם רוצים שהאתר שלכם יחולק כך לדפים:
index.php?f=show-page
index.php?f=news
index.php?f=show-topic
אז זה מה שאתם עושים בעצם בקובץ ה- index.php הראשי:
|
קוד
|
<?php
if($_GET["f"] == "news")
{
include_once "news.php";
}
elseif($_GET["f"] == "show-page")
{
include_once "show-page.php";
}
elseif($_GET["f"] == "show-topic"))
{
include_once "show-topic.php";
}
?>
|
|
|
פה אנחנו בעצם בודקים כל פעם האם המשתנה f שמועבר ב-URL (בכתובת האתר שלכם) שווה לאחד מהקבצים שבמערכת שלכם, במידה והוא שווה לאחד מהם אז זה מייבא את הקובץ עם הפונקציה include_once את הקובץ המתבקש.
במקרה הראשון זה מייבא את הקובץ news.php מכוון שהמשתנה f שבכתובת האתר מבקש את הקובץ news.
במקרה השני זה מייבא את הקובץ show-page.php מכוון שהמשתנה f שבכתובת האתר מבקש את הקובץ show-page.
תנסו לחשוב לבד מה קורה בבמקרה השלישי (אותו הדבר למעשה).
|
הערה: השיטה הזו לא מומלצת תמיד, אבל זו רק דוגמא פשוטה לשימוש במשתנה הגלובאלי GET_$ ובפונקציה include_once.
יש עוד שיטות רבות להעביר מידע בין דפים - על שיטות אלו תוכלו ללמוד במדריכים הבאים.
הסבר על הסימנים בכתובת
bla.php?f=show-page&id=454
סימן שאלה ( ? ) כדי להתחיל ולהכניס פרמטרים שונים ל-URL עליכם לכתוב סימן שאלה אחרי ה- php. ואז את המשתנה ואז שווה ואז את הערך (תוכן של המשתנה).
הסימן שווה מכניס למשתנה את הערך שלו.
הסימן & אומר שיש התחלה של משתנה חדש רק לאחר שיש יותר ממשתנה אחד ב-URL. |
| דפים נוספים בקטגוריה תיכנות ובניית אתרים בעזרת PHP |
קבלת נתונים מטפסים ואבטחה
ניווט אתר בעזרת include ו-switch ואבטחה
שימוש ב- sessions
|
| עיזרו לנו |
|
אהבת את המדריך? הצבע עבורנו וקדם את האתר שלנו!
|
|