הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 01-08-10, 23:39   # 1
RAS
חבר וותיק
 
RAS's Avatar
 
מיני פרופיל
תאריך הצטרפות: Jul 2007
הודעות: 1,228

RAS לא מחובר  

משהו מוזר עם האופרטור OR

עשיתי דבר כזה:

PHP קוד:
if (strip_tags($_POST['name']) != htmlspecialchars($_POST['name']) OR strip_tags($_POST['comment']) != htmlspecialchars($_POST['comment'])) {
                        echo 
"אין להכניס תגי HTML.<br />";
                    } 
מה שזה עושה זה בודק אם קיימים תגי HTML בשני POSTים, comment וname.

מה שקורה בפועל זה שאם אני מכניס תג HTML ב POST אחד בלבד (כלומר, מתקיים תנאי אחד במשפט ה-IF) זה עובד טוב. אבל אם אני מכניס תגי HTML בשני POSTים (כלומר, מתקיימים שני התנאים במשפט ה-IF) המשפט IF בעצם לא מתקיים, למה?

אני יודע ש XOR אומר שאם שני התנאים מוערכים כ-TRUE התנאי לא יתקיים, אבל ב OR זה לא ככה.

לחסוך ממכם:
ניסיתי במקום OR לכתוב ||, כמו כן אני מעוניין שזה יהיה בתנאי אחד ולא בשני תנאים.

תודה רבה מראש!
  Reply With Quote
ישן 02-08-10, 01:05   # 2
SarafC
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Apr 2008
הודעות: 511

SarafC לא מחובר  

אני חושב שלא הבנת את המשמעות של הפונקציות שאתה משתמש בהן..

strip_tags מנקה את המחרוזת מתגיות HTML, כמו <a>, <b>, <p>, וכו'.

htmlspecialchars הופכת סימנים מסויימים לקידוד HTML. הסימנים שמומרים הם: &, ", ', <, >.

לפי מה שאני מבין, אתה לא יכול לקבל מחרוזות שוות אם אתה משתמש באחד מהסימנים של htmlspecialchars.

כלומר, את כתבת:

PHP קוד:
<b>Hello!! - "To You"</b
strip_tags ייתן לך:

PHP קוד:
Hello!! - "To You" 
ולעומת זאת, htmlspecialchars ייתן לך:

PHP קוד:
&lt;b&gt;Hello!! - &quot;To You&quot;&lt;/b&gt
זה ממש לא אותו דבר, משמע הבדיקה שיצרת לא נכונה בכלל..
__________________
בברכה, שרף כהן
  Reply With Quote
ישן 02-08-10, 09:26   # 3
RAS
חבר וותיק
 
RAS's Avatar
 
מיני פרופיל
תאריך הצטרפות: Jul 2007
הודעות: 1,228

RAS לא מחובר  

זה בדיוק מה שאני רוצה

תחשוב, אם הוא הכניס תג HTML זה יביא לי בשניהם מחרוזות שונות - כלומר לא שוות - ואז זה אומר שהוא הכניס תגי HTML.
  Reply With Quote
ישן 02-08-10, 12:21   # 4
RAS
חבר וותיק
 
RAS's Avatar
 
מיני פרופיל
תאריך הצטרפות: Jul 2007
הודעות: 1,228

RAS לא מחובר  

אה הבנתי מה הבעיה, הטעות הייתה אצלי, שחכתי להכניס את זה למערך $errors אצלי שמדווח על כל השגיאות.

טוב נו, זה יעזור לכאלה שירצו לחסום תגי HTML..

מצטער על הטריחה.
  Reply With Quote
ישן 02-08-10, 12:22   # 5
~The_Sultan~
חבר על
 
מיני פרופיל
תאריך הצטרפות: Oct 2008
הודעות: 771

~The_Sultan~ לא מחובר  

אבל אם בנאדם כתב גרשיים?
  Reply With Quote
ישן 02-08-10, 12:26   # 6
RAS
חבר וותיק
 
RAS's Avatar
 
מיני פרופיל
תאריך הצטרפות: Jul 2007
הודעות: 1,228

RAS לא מחובר  

האמתי שאני רוצה שיהיו בתגובות רק אותיות, בלי סמני פיסוק למעט הכרחיים כמו פסיק ונקודה. לך תדע מה יכולים להשתיל לך..
  Reply With Quote
ישן 04-08-10, 10:45   # 7
Daniel
אחראי פורום
 
מיני פרופיל
תאריך הצטרפות: Mar 2007
הודעות: 2,875

Daniel לא מחובר  

אתה מוזמן להסתכל אפילו פה בפורום - אתה יכול להכניס מה שתרצה - <>"'# - ואין שום בעייה. שימוש פשוט ב-htmlspecialchars פותר את הבעייה.
  Reply With Quote
ישן 05-08-10, 18:11   # 8
iOrel
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Aug 2010
הודעות: 104

iOrel לא מחובר  

אני אתחיל בזה שאין כזה דבר בתנאי אופורט OR יש כזה: || (ו/או).
ואם אתה רוצה לבדוק בקלות:
PHP קוד:
<?php
if(strip_tags("<strong>Hey</strong>") || htmlentities("<strong>Hey</strong>"))
{
echo 
"We Are sorry, but you cannot insert HTML tags";
}
?>
__________________

Msn: orel@iorel.info
Email: orelkey [at] gmail.com

  Reply With Quote
ישן 05-08-10, 18:12   # 9
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

ציטוט:
נכתב במקור על ידי iOrel צפה בהודעה
אני אתחיל בזה שאין כזה דבר בתנאי אופורט OR יש כזה: || (ו/או).
ואם אתה רוצה לבדוק בקלות:
PHP קוד:
<?php
if(strip_tags("<strong>Hey</strong>") || htmlentities("<strong>Hey</strong>"))
{
echo 
"We Are sorry, but you cannot insert HTML tags";
}
?>
אתה טועה ובגדול יש OR ויש AND ויש XOR כמובן שאפשר גם להשתמש ב || וב && אבל עדיין זה קיים
  Reply With Quote
ישן 05-08-10, 18:17   # 10
iOrel
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Aug 2010
הודעות: 104

iOrel לא מחובר  

ציטוט:
נכתב במקור על ידי RS324 צפה בהודעה
אתה טועה ובגדול יש OR ויש AND ויש XOR כמובן שאפשר גם להשתמש ב || וב && אבל עדיין זה קיים
לפי מה שידוע לי, זה כבר לא עובד, כי על השרת שלי זה הריץ שגיאה
__________________

Msn: orel@iorel.info
Email: orelkey [at] gmail.com

  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 16:17.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ