משתני PHP לא קיימות צורות

על ידי סטיבן לויד ווטקין , יום חמישי 31 יולי 2008 10:36

נתקלתי במשהו שלא הייתי מודע של היום הוא שימושי מאוד .... השליטה שגיאה מפעיל '@' ב -PHP .

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

בשנת אלמנטים טופס שלי לעיתים קרובות אני להגדיר את הערך של שדה הטופס למשהו כמו <? = $ נתונים ['fieldValue'];?> זה עובד מצוין בעת טעינת הנתונים, אבל כאשר אני מוסיף נתונים חדשים אני מקבל את הטופס מילא כמו להלן (הערה על ההתחברות שלי או כשאני בדיקות יש לי דיווח שגיאות מוגדר E_ALL אז אני יכול לוודא שהכל פועל כראוי):

שימו לב: לא מוגדר משתנה: נתונים / home / public_html / dataEdit.php על קו 69

אז מה בסופו של דבר הגעתי לעשות כתב יותר (פחות יפה) קוד אשר אמר <? if (isset ($ נתונים ['fieldValue'])) {echo $ נתונים ['fieldValue'];}?.> לא בדיוק גדול

ואז נתקלתי מפעיל את השגיאה השליטה ב-PHP, פשוט על ידי הצבת '@' לפני סמל המפעיל (בעצם כל דבר יכול להחזיר תוצאה) את הבעיה הנ"ל נפתרה. למשל עכשיו אני יכול לעשות עבור פרמטר ערך שלי <= @ $ נתונים ['fieldValue'];?>. אם המשתנה אינו מוגדר (כלומר, טעות תהיה שנוצר), אז השגיאה מודחק.

הערה: שימוש '@' סמל יכול לדכא טעויות גדולות להסתיר את העובדה כי חלק של האתר שלך אינו פועל כראוי, אז תיזהר!

כתיבת תגובה













פנורמה Theme על ידי Themocracy

7 מבקרים מקוון עכשיו
3 אורחים, 4 בוטים, 0 חברים
מקס מבקרים היום: 11 בשעה 12:15 UTC
החודש: 52 18-06-2011 בשעה 03:11 UTC
השנה: 130 28-03-2011 בשעה 22:40 UTC
כל הזמן: 130 28-03-2011 בשעה 10:40 UTC