מדריך PHP

מדריך PHP: קלט מהמשתמש

‏ • Internet Israel

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

<?php
function doubleNumber($number) {
    $number *= 2;
    return $number;
}

$number = 4;
print doubleNumber($number);

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

אחת מהדרכים שלנו לתקשר עם סקריפט של PHP היא באמצעות ה-URL. באמצעות ה-URL אני יכול להכניס פרמטרים ולקבל אותם באמצעות הסקריפט. בואו וננסה להכניס פרמטר ל-URL! ניגש לדפדפן ונוסיף לשם הקובץ שלנו את הסיומת:

?number=6

באופן הבא:

get parameter

במקרה הזה שם הפרמטר הוא number והערך שלו הוא 6. שימו לב לסימן השאלה, הוא קריטי במקרה הזה.

אם אני אשתמש בפרמטר הזה, אני אוכל לקלוט אותו באמצעות הסקריפט שלי. הקליטה של הפרמטר נעשית באמצעות מערך מיוחד ששמו הוא $_GET, המפתח שלו הוא שם הפרמטר. אם אני ארצה לקבל את הפרמטר ששמו הוא number, אני אשתמש ב:

$_GET['number'];

במידה ויש שימוש בפרמטר, הערך שלו יהיה ב-

$_GET['number']

ונדגים עם הסקריפט:

<?php
function doubleNumber($number) {
    $number *= 2;
    return $number;
}

$number = $_GET['number'];

print doubleNumber($number);

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

GET paramater example in PHP

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

שימוש בכמה פרמטרים

אנחנו לא מוגבלים לפרמטר אחד ב-URL כמובן, אנחנו יכולים להשתמש בכמה וכמה פרמטרים, כל עוד הם מופרדים באמצעות סימן חיבור. למשל:

example of several GET parameters

אפשר כך להוסיף עוד ועוד, איך משתמשים בהם? עדיין עם $_GET:

<?php
function doubleNumber($number) {
    $number *= 2;
    return $number;
}

$number = $_GET['number'];

print $_GET['name'];
print doubleNumber($number);

התוצאה תהיה כמובן: Several GET paramaters in PHP

 

כמובן שאנחנו לא מצפים מהמשתמש להתחיל להכניס פרמטרים בעצמו! בדיוק בשביל זה יש לנו טפסים. ניתן גם לתקשר עם PHP בעוד דרכים חוץ מה-URL. אבל על כך במאמר על טפסים ו-PHP.

תגיות: , , , ,

רן בר-זיק

מתכנת PHP מנוסה ובעל ידע רב בפיתוח לאינטרנט על בסיס LAMP. מומחה במערכות דרופל, ג'ומלה ו-וורדפרס. שולט היטב בכל מה שקשור לפרונט אנד: JavaScript: jQuery ו-MooTools,ActionScript 2/3 וכמובן HTML 5 + CSS 3.אינטרנט ישראל: www.internet-israel.com

תגובות בפייסבוק