![]() |
משהו מוזר עם האופרטור OR
עשיתי דבר כזה:
PHP קוד:
מה שקורה בפועל זה שאם אני מכניס תג HTML ב POST אחד בלבד (כלומר, מתקיים תנאי אחד במשפט ה-IF) זה עובד טוב. אבל אם אני מכניס תגי HTML בשני POSTים (כלומר, מתקיימים שני התנאים במשפט ה-IF) המשפט IF בעצם לא מתקיים, למה? אני יודע ש XOR אומר שאם שני התנאים מוערכים כ-TRUE התנאי לא יתקיים, אבל ב OR זה לא ככה. לחסוך ממכם: ניסיתי במקום OR לכתוב ||, כמו כן אני מעוניין שזה יהיה בתנאי אחד ולא בשני תנאים. תודה רבה מראש! |
אני חושב שלא הבנת את המשמעות של הפונקציות שאתה משתמש בהן..
strip_tags מנקה את המחרוזת מתגיות HTML, כמו <a>, <b>, <p>, וכו'. htmlspecialchars הופכת סימנים מסויימים לקידוד HTML. הסימנים שמומרים הם: &, ", ', <, >. לפי מה שאני מבין, אתה לא יכול לקבל מחרוזות שוות אם אתה משתמש באחד מהסימנים של htmlspecialchars. כלומר, את כתבת: PHP קוד:
PHP קוד:
PHP קוד:
|
זה בדיוק מה שאני רוצה :)
תחשוב, אם הוא הכניס תג HTML זה יביא לי בשניהם מחרוזות שונות - כלומר לא שוות - ואז זה אומר שהוא הכניס תגי HTML. |
אה הבנתי מה הבעיה, הטעות הייתה אצלי, שחכתי להכניס את זה למערך $errors אצלי שמדווח על כל השגיאות. |מסמיק|
טוב נו, זה יעזור לכאלה שירצו לחסום תגי HTML.. מצטער על הטריחה. |
אבל אם בנאדם כתב גרשיים?
|
האמתי שאני רוצה שיהיו בתגובות רק אותיות, בלי סמני פיסוק למעט הכרחיים כמו פסיק ונקודה. לך תדע מה יכולים להשתיל לך..
|
אתה מוזמן להסתכל אפילו פה בפורום - אתה יכול להכניס מה שתרצה - <>"'# - ואין שום בעייה. שימוש פשוט ב-htmlspecialchars פותר את הבעייה.
|
אני אתחיל בזה שאין כזה דבר בתנאי אופורט OR יש כזה: || (ו/או).
ואם אתה רוצה לבדוק בקלות: PHP קוד:
|
ציטוט:
|
ציטוט:
|
כל הזמנים הם GMT +2. הזמן כעת הוא 21:52. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ