ציטוט:
נכתב במקור על ידי שקד
הנה
PHP קוד:
mysql_query("SELECT * FROM `table` WHERE `id`='{$_GET['f']}'") or die(mysql_error());
פונקציות שימושיות למקרה זה:
mysql_query
|
אני דוגל בכך שעזרה נכונה היא להסביר לשואל איך לפתור.
מכוון שכבר יישמת את הפעולה ונתת לו תוצאה, הוא לא לומד מכך כלום.
להלן ההסבר:
המשתנה הגלובאלי $_GET מיועד עמ"נ להוציא נתונים שנשלחו אילנו בשיטת השליחה GET(במקור -שיטת שליחת טפסים).
כעת אנו מעוניינים להוציא מידע שנשלח אל הכתובת, מה שאנחנו רוצים בעצם זה למצוא מידע שנשלח אילנו בצורת GET.
כעת בוא נבין את זה לעומק העניין.
מה שיטת הGET עושה אצלנו בטפסים?
בטופס, הGET לוקח את כל הנתונים ושולח אותו פשוט לתוך GET, אם נחשוב על זה בצורה כזו אנו יכולים לעשות זואת לבד ע"י שיטת POST!, בעצם ה GET מקצר לנו את התהליך הזה ושולח בקשה אל הדפדפן שהוא יבצע זואת!.
בוא נסביר את פעולת הGET בצורת אלגוריתם-קוד:
מידע נשלח בצורת POST - מועבר לכתובת שהנתונים של POST מוכלים בו:
PHP קוד:
header("Location: index.php?name=" . $_POST['name']);
מה אנו מבינים?, הGET הוא בעצם מציאת מידע ע"י הכתובת.
כעת נבין לעומק מדוע אנו משתמשים דאווקה בGET ולא ע"י משתנה ישיר.
כאמור במדריך "הגנה נגד הזרקות כתובת"(בצע חיפוש בפורום), אנו משתמשים בGET עמ"נ להגן על הקוד שלנו מפני הזרקות.
PHP קוד:
// index.php?text=Php.net
echo $text;
// Return Php.net
זו למשל דרך שגויה לגשת אל משתנה מהכתובת!
PHP קוד:
// index.php?text=Php.net
echo $_GET['text'];
// Return Php.net
וזו הגישה הנכונה!.
קצת ארוך...
אבל אני מקווה שזה ילמד אותך משהוא לעומק יותר...
בהצלחה!