פורסם 2008 באוקטובר 2317 שנים שלוםבניתי פונקציה פשוטה שמקבלת מחרוזת של שם משתמש ומחפשת בDB אם הוא קייםהבעיה היא שכשאני מכניס שם משתמש בעברית (שקיים בDB) בפיירפוקס הכל תקין והפונקציה מחזירה שהוא קייםבIE הפונקציה מחזירה שהוא לא קיים (למרות שהמחרוזת מגיע אליו בצורה תקינה)באנגלית שני הדפדפנים מחזירים תשובה תקינה.הכל מקודד UTF-8 כולל הDB מישהו נתקל בבעיה דומה?
פורסם 2008 באוקטובר 2417 שנים מחבר בדקתי כברשניהם מקבלים קלט תקיןאך הIE מחזיר שהוא לא מצא (למרות שהקלט כן נמצא בDB)והFF מחזיר שהוא מצאמה זה בודק תעבורה?
פורסם 2008 באוקטובר 2417 שנים לא לבדוק את הקלט, אלא את הפלט שלהם לשרת...תוכנה כמו זו http://www.nirsoft.net/utils/smsniff.html יכולה להראות לך את התקשורת עם השרת (אם הוא לא מקומי) וככה תוכל לראות את ההבדלים בין הבקשות של הדפדפנים.
פורסם 2008 באוקטובר 2417 שנים מחבר זהו שרת מקומי.ואמרתי שהפלט שהIE הוא פלט ריק ""הפלט של הFF הוא 1 (כן מצא - תקין)והבעיה קוראת רק במקרים מסויימים עדיין לא זיהתי תבנית מסויימת של קלט בעייתי.אוסיף עוד פרטיםהקלט הוא ע"י GET - הוא מועבר עם הכתובת של העמודהפלט הוא AJAX - echo "1" במקרה שמצאecho "0"במקרה שלאאולי הIE מעוות משהו במשתנים שמועברים ע"י שורת הכתובת?
פורסם 2008 באוקטובר 2417 שנים בגלל זה אמרתי לך לבדוק את מה שאמרתי... בכל מקרה, תעשה שהשרת פשוט ידפיס את המשתנה חזרה שהוא מקבל ב GET למסך ולא משהו אחר, ככה תדע את זה.
פורסם 2008 באוקטובר 2417 שנים מחבר כן זה מה שעשיתימתי שמתרחשת הבעיה הalert לא פועל בכלל למרות שזה כן נכנס לפונקציהאם אני שם משהו אחר בalert הוא פועלאם אני שם את הפלט הוא פשוט לא עובד
פורסם 2008 באוקטובר 2417 שנים אני לא מבין בדיוק מה אתה עושה, אבל אולי נסה להשתמש בדברים האלו:http://xkr.us/articles/javascript/encode-compare/
פורסם 2008 באוקטובר 2417 שנים מחבר הפונקציה משתמשת בAJAX אז אעתיק רק את החלקים הרלוונטיםקריאה לפונקציה :<input type="text" onblur="checkuser(this.value)" name="username" dir='rtl' size="15" />הפונקציה בקובץ JS:function checkuser(t){ searchdb(t);}function searchdb(name){ http.open('get', 'searchdb.php?user='+name); http.onreadystatechange = handleResponse; http.send(null);}searchdb.php: $query="SELECT * FROM users WHERE (username = '$_GET[user]' )"; $result=mysql_query($query); $row = mysql_fetch_array($result, MYSQL_NUM); if($row[0]) echo "1"; else echo "0";
פורסם 2008 באוקטובר 2417 שנים אם אתה משתמש ב JS אז תנסה להשתמש בפונקציית קידוד מהלינק הקודם, ופיענוח בצד שרת.
פורסם 2008 באוקטובר 2417 שנים מחבר לא מצאתי פונקציות מגבילות בPHP לפיענוך בצד שרתhttp://www.w3schools.com/PHP/php_ref_string.asp
פורסם 2008 באוקטובר 2417 שנים מחבר בדקתי הפונקציה הזאת לא עושה את הפעולה ההפוכה של escapeבכל אופן כתבתי לקובץ את מה שsearchdb.php מקבל ($_GET[user]) והוא אכן מקבל קלט נכון ככה שזה שולל את האפשרות של תווי לואי שהאקספלורר מוסיףוהינה עוד אבסורדדווקא בFF שבו הפונקציה עובדת תקין - מקבל את הקלט כג'יבריש
פורסם 2008 באוקטובר 2417 שנים יש לך בהתחלה של העמוד <meta http-equiv=Content-Type content=text/html; charset=utf-8″ />?עשית הדפסה של 2 הפלטים בדפדפנים ? איך הם יוצאים ?תקרא גם אולי פה:http://www.dangrossman.info/2007/05/25/handling-utf-8-in-javascript-php-and-non-utf8-databases/
פורסם 2008 באוקטובר 2417 שנים מחבר הופה אכן קישור מועיל , לפי ההוראות שם השתמשתי בencodeURIComponent בצד הקליינט ובurldecode בצד הסרבר עכשיו הכל תקין. תודה
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.