בעיה של העברת נתונים

ivgeni1000

New member
בעיה של העברת נתונים

כאשר אני מעביר מידע בשיטת POST, אז PHP מוסיף \ לפני תוים מיוחדים כמו " או '. אז יש איזושהי אפשרות לבטל את ה \ הללו מבלי לבטל סימני \ אחרים שהועברו בכוונה?
 

orenphp

New member
זה יכול ליצור בעיה...

מאחר ואתה לא יודע מי במקור אכן היה אמור להיות עם סלש ומי לא לאחר שהדף עובר לדף אחר. לדעתי תעשה Replace בדף הראשון ל"סמלים" שונים אחרים (כמו # במקום /) - שם אתה יודע מי צריך להיות עם \ ומי לא, ואז תעשה Replace שוב בדף השני. פיתרון יותר מתוחכם ואולי טיפה יותר יעיל (תלוי מאוד במקרה) תוכל למצוא ב: http://www.php.net/manual/he/function.urlencode.php תקרא למטה על השיטות כולל htmlentities, urlencode ועוד (קומבינציה נכונה תוביל לתוצאות הרצויות) בהצלחה.
 

ivgeni1000

New member
זה לא טוב...

לפי מה שהבנתי שם UrlEncode מתאים לשיטת GET, כלומר URL. אני צריך לPOST
 

ivgeni1000

New member
ואם שולחים \" או \' ורוצים שיהיה כך

אז זה בכל זאת מחליף.......
 

orenphp

New member
עשה לי טובה, תשלח לי דוגמא

שאתה צריך לסדר. אני פשוט באמצע של מיליון דברים (פיסיקה, c sharp) ואני צריך לראות דוגמא טובה (לדעתי אבל htmlentites - משהו כזה (זה היה בלינק) יעבוד לך טוב במקרה הזה)
 

orenphp

New member
יכול גם ליצור בעיה...

דבל-סלש הופך לסלש אחד, במידה ורצית להכניס דבל-סלש אז אתה תתקל בבעיה(תחשוב על מקרי קצה כמו הזנת כתובת/מיקום במחשב-ברשת) שבה ירדו לך סלשים אפילו אם לא תרצה. לא סתם כתבתי לך שעדיף לך לעשות פו' של do ו undo לפי איזה התנהגות מסוימת שתקבע למקרה שלך - כמובן שפו' אלו יכולות להשתמש בפו' ספרייה של PHP במידה ואכן בדקת שהן לא יפגעו בהתנהגויות שאתה רוצה לשמור עליהן.
 

N i X

New member
תיראה, תשמע...

אם הוא סתם עושה form של טקסט רגיל, שבו כותבים "בלה בלה" ,בע"ם 'PHP', וכו' אז stripslashes() יספיק בהחלט, הוא לא הביא דוגמא לקלט, ככה שאין לי מושג למה הוא צריך את זה, אם זה מסתדר לו, שיהיה לבריאות ;) אם לא שיחפש פתרון אחר... לפי מה שאני משער הוא סתם עושה form של טקסט, אבל לך תדע...
 

ivgeni1000

New member
זה לא עושה בעיה!!!

הדבל-סלאשים נשארים בstripslashes() הרגע בדקתי
 

orenphp

New member
מוזר...

כי זה מה שהיה כתוב במדריך: http://www.php.net/manual/he/function.stripslashes.php "Returns a string with backslashes stripped off. (\' becomes ' and so on.) Double backslashes are made into a single backslash." אתה בטח בדקת / ולא את \ אם אני מבין נכון. לא משנה, כל מקרה לגופו, יתכן מאוד ובמקרה הזה הפו' הנוכחית תספיק לך.
 

nirdagan

New member
זה קשור ל-POST משום ש...

ברירת המחדל בהתקנת PHP היא שנתונים שמועברים ע"י הלקוח (בין אם ב-POST GET או עוגיות) מוסיפים להם סלאשים לפני תוים מסוימים כדי שיהיה אפשר לדחוף את הערכים ישר לבסיס נתונים.
 
למעלה