בעיה בזיהוי ID
ערב טוב,
יש לי בעיה קטנה. אני עובד מול שרת WAMP ואני בונה מערכת שמטרתה להציג תקציר של המאמר ומאמר מלאה. את הID הגלובאלי אני השוואתי לID רגיל בצורה הבאה: קוד:
if (isset($_GET['id'])) {$id = $_GET['id'];} קוד:
$result = mysql_query ("SELECT * FROM article WHERE id='$id'",$db); קוד:
Notice: Undefined variable: id in C:\wamp\www\mysite\bigarticle.php on line 6 |
מן הסתם זה אומר שהIF לא תפס. תבדוק אם שלחת בGET ואם שלחת תבדוק איפה שמת את הIF.
האם אתה עובד בScope הנכון? |
קודם כל תשים את השאילתה בתוך התנאי שלך, כי אם הוא לא קיים אז אתה מריץ שאילתה שה-ID שווה לכלום
דבר שני, מה יש בשורה 6 או בשורה שלפניה מה כתוב בקוד...? |
ציטוט:
ציטוט:
הבעיה הייתה בקובץ PHP.INI בGLOBAL REGISTER. ניתן לנעול את האשכול! |
ציטוט:
זו לא בעיה ככה זה צריך להיות. http://php.net/manual/en/security.globals.php תראה את ה Warning שיש למעלה... |
אני מניח השורה בה אתה מוציא את הנתונים מהטבלה היא בתוך פונקציה.
אם ככה, עדיף להעביר את ה- ID לפונקציה בתור פרמטר מאשר להפעיל REGISTER_GLOBALS וכמו שציינו מעלי, תעשה בדיקה שקיים ערך כלשהו ב- id לפני שאתה בכלל מפעיל את השאילתה. ובנוסף, כדי שלא יהיו לך בעיות של SQL Injection, תסנן את ה- ID לפני שהוא נכנס לשאילתה. אם ה- ID הוא ערך מספרי, תסנן אותו באמצעות הפונקציה intval, אם הוא לא ערך מספרי תסנן אותו באמצעות mysql_real_escape_string |
כל הזמנים הם GMT +2. הזמן כעת הוא 01:06. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ