דרכים להמנע מבעיות נפוצות של גרשים ומרכאות
כל מתכנת נתקל לפעמים בבעיות בעדכון או שליפה נתונים מבסיס נתונים או הצגת טקסט בשדות INPUT, כאשר המחרוזות מכילות גרשים או מרכאות.
מאמר זה מציע דרכים להמנע מבעיות אלו.
שתי הבעיות הספציפיות של גרשים ומרכאות
- גרשים, כשאתה מכניס מחרוזת לתוך מסד נתונים דרך update או insert (בניגוד ל- ado)
- מרכאות, כשאתה פולט מחרוזות בתוך שדות input type=text. זה לא תקף לגבי textarea.
החוק שעובד ברוב המקרים הנפוצים
– כשאתה מכניס ערך ל- input דרך ה-value, תצטרך להקיף את value במרכאות ולא בגרשים, ולהחליף מרכאות ב- "
|
|
כשאתה משרשר מחרוזות לתוך משתנה strSql, עליך להכפיל גרשים.
|
|
הבהרה:
- גרש – מה שיוצא כשאתה לוחץ על W במצב עברית (')
- גרשיים – פעמיים גרש (")
- מרכאות – ".
שתי פונקציות VBscript שעשויות לעזור
|
|
:דוגאמות לשימוש
<input type=text value="<% =rQuote(strText) %>" size=15>
strSql = "INSERT INTO tbl (stringFld) VALUES ('" & rGeresh(strText) & "')"
מקרים מיוחדים
המקרים הפחות ספציפיים הם כשיש שימוש בסקריפט צד קליינט ואז גרש צריך להפלט כ- ', אבל זה כבר לפי מקרים ספציפיים ואין חוק כללי.
בהצלחה!
תגובות בפייסבוק