![]() |
[PHP] בקשת עזרה בגרשי(י)ם עם מסד נתונים - דחוף
שלום :) מעולם לא קרה שהייתי צריך עזרה דחופה אם בכלל היתי צריך עזרה, אבל עכשיו באמת חייב עזרה בעניין הבא:
יש לי טופס שבאחד השדות שלו הטקסט יכול לבוא עם גרשיים (") או גרשים (') פעם אחת או יותר. זה יוצר את הבעיות הבאות:
ניסיתי כל שילוב שעלה בדעתי בין הפונקציות: htmlspecialchars, htmlspecialchars_decode, addslashes, stripslashes, str_replace בשביל למצוא את הפתרון ולא הצלחתי. עזרה בבקשה - המצב חמור =X עם איזה פונקציות להכניס את הטקסט למסד ועם איזה להוציא? תודה רבה, פיני |
תכניס עם mysql_escape_string, ושצריך להציג תעשה לו stripslashes..
|
אתה יכול להכניס את הטקסט ב option בלי גרשיים בכלל.
אם ה option בתוך echo אתה יכול לעשות \" ב option. אתה יכול להוציא מהמסד עם - echo "$some"; לא תיהיה שום בעיה עם הגרשיים. |
ציטוט:
אני משתמש ב mysql_real_escape_string ומציג כמו שתומר כתב, עם stripslashes, עובד יופי. |
אתה יכול להשתמש פשוט ב-htmlspecialchars ואז זה ימיר אותו לתבי ASCII וככה זה יציג לך גרש ולא קוד של PHP אם לזה התכוונת
|
ציטוט:
ציטוט:
ציטוט:
אבל אז יש בעיה עם ההעברה בGET והשאילתה... ניסיתי להחזיר בhtmlspecialchars_decode אבל לא ממש הלך בכל מקרה, נראה לי שמצאתי פתרון =] אני הופך כל גרשיים (") לגרשים (' ' - בלי הרווח), כל גרש בזמן שצריך להעביר או להכניס בשאילתה אני הופך נגיד לכוכבית (*), ורק כשצריך להציג אני הפוך את הכוכבית לגרשים (') ומקיף את הטקסט בגרשיים (")... זה אמור לעבוד לדעתי =] |
אממ...
למה גם אתה מסתבך?... יש פתרונות טובים מאוד באתר הרשמי.. צריך לדעת לחפש.. הינה הפתרון.. (הצורה השניה...) PHP קוד:
Constant Name - Description ENT_COMPAT - Will convert double-quotes and leave single-quotes alone. ENT_QUOTES - Will convert both double and single quotes. או בעיברית ממיר את שני סוגי הגרשיים גם (") וגם (').. ENT_NOQUOTES - Will leave both double and single quotes unconverted |
יש הבדל בין מה שנתת לhtmlspecialchars?
בכל מקרה, הצלחתי בסוף - העניין עם הכוכביות בשילוב עם stripslashes וזהו =] אפשר לנעול |
ציטוט:
|
כל הזמנים הם GMT +2. הזמן כעת הוא 18:15. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ