1121
צפיות
צפיות
6
תשובות
תשובות
סימנים לא נכנסים לבסיס נתונים
אני מכין צ’אט והסימנים שמצאתי שלא נכנסים לבסיס נתונים הם #$%^&*)(
אני מכין צ’אט והסימנים שמצאתי שלא נכנסים לבסיס נתונים הם #$%^&*)(
שירות אחסון אתרים
המקצועי של וובמאסטר!
מומחים באירוח אתרי
WordPress, Joomla, Drupal
עכשיו במחיר היכרות:
רק 420 ש"ח לשנה!
6 תשובות
אני מניח שאתה משתמש בPHP, אך תקן אותי אם אני טועה…
נסה להשתמש בפקודה mysql_real_escape_string()
דוגמא קטנה העושה שימוש בפקודה זו:
http://pastebin.com/BEUnMVhK
לא כל כך הבנתי את השימוש בפקודה הזאת כי כשהוספתי אותה זה אפילו לא הכניס את המילה שרשמתי לבסיס נתונים כנראה שפשוט לא השתמשתי בזה נכון ואני לא כל כך מבין איך
אני לא בטוח שהבנתי מה אתה מנסה לעשות… מה השימוש של מסד הנתונים כחלק מהצ’אט? הוא מאחסן את ההיסטוריה של הצ’אט? זה רשימה של מילים אסורות?
אם אתה מנסה להכניס משפט למסד והסימנים הללו אינם נקלטים עליך לעשות כך:
את המשפט המתקבל שמור במשתנה. כשאתה שולח query למסד דרך mysql_query עליך לעשות כך:
http://pastebin.com/4UerpgTP
מה שהפקודה עושה:
http://www.w3schools.com/php/func_mysql_real_escape_string.asp
הסיבה שסימנים אלו לא נכנסים למסד הנתונים היא שאלו סימנים שמורים של השפה.
לא רק שהסימנים לא יופיעו ללא שימוש בפקודה, אלא הם אף מעוותים לך את הquery שאתה שולח,
והם מאפשרים להאקרים להשתיל קוד זדוני בסקריפט שלך ללא מאמץ (תלמד קצת על sql injection – יש אפילו מאמר קטן פה באתר).
תודה על העזרה הצלחתי
השימוש בפקודה הוא שפתר את התקלה?