• הרשמה
    • התחברות
    • חיפוש
    • דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • קבלת התראות מהדפדפן
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private

    כיצד בודקים האם יש פרמטר ב-url שמכיל ערך ספציפי

    פורום PHP
    3
    7
    262
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • הגיבו כנושא
    התחברו בכדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • מ
      מתכנת בעתיד נערך לאחרונה על ידי

      יש לי קובץ PHP עם הרבה 'read' , אני רוצה להגדיר שבהקשה על * המחייג יחזור לתפריט הראשי,
      לצורך כך אני צריך לבדוק את התשובה של כל read אם הוא '*' להעביר אותו לשלוחה ראשית.

      כמובן שאין טעם לכתוב שורה זו לכל read,
      לכן אני רוצה שבתחילת הקובץ לעשות בדיקה אחת האם אחד הפרמטרים שנשלחו בurl מכיל *
      וא"כ להעביר אותו לתפריט ראשי.

      1. האם יש פונק' מוכנה שבודקת את כל הפרמטרים בURL ?
      2. האם יש דרך יעילה יותר לחזרה לתפריט ראשי כשהמחייג יקיש על *?
        תודה
      ל תגובה 1 תגובה אחרונה תגובה ציטוט 0
      • ל
        לעזור לכולם מומחה @מתכנת בעתיד נערך לאחרונה על ידי לעזור לכולם

        @מתכנת-בעתיד אמר בכיצד בודקים האם יש פרמטר ב-url שמכיל ערך ספציפי:

        האם יש פונק' מוכנה שבודקת את כל הפרמטרים בURL ?

        echo in_array('*' , $_GET) ? "go_to_folder=/' : '';
        
        מ תגובה 1 תגובה אחרונה תגובה ציטוט 0
        • מ
          מתכנת בעתיד @לעזור לכולם נערך לאחרונה על ידי מתכנת בעתיד

          @לעזור-לכולם אמר בכיצד בודקים האם יש פרמטר ב-url שמכיל ערך ספציפי:

          in_array('*',$_GET) ? echo "go_to_folder=/" : '';

          יפה מאוד, רק תשנה את הסינטקס את המילה echo שים לפני הפונק'.
          אין עליך

          A תגובה 1 תגובה אחרונה תגובה ציטוט 1
          • A
            amp Software 0 @מתכנת בעתיד נערך לאחרונה על ידי amp Software 0

            @מתכנת-בעתיד
            שים לב שזה לא יעזור לך במקרה ובו יש פרמטר שמקבל 2 הקשות, ואז אם המשתמש יקיש פעמיים כוכבית זה לא יחזור לתפריט הראשי
            יש דרך אחרת שפותרת גם את זה, לחפש את התו '*' בכל המחרוזת של השאילתה
            ככה:

             echo strpos($_SERVER['QUERY_STRING'], '*') ?  "go_to_folder=/" : '';
            
            ל תגובה 1 תגובה אחרונה תגובה ציטוט 0
            • ל
              לעזור לכולם מומחה @amp Software 0 נערך לאחרונה על ידי

              @amp-Software-0 אמר בכיצד בודקים האם יש פרמטר ב-url שמכיל ערך ספציפי:

              שים לב שזה לא יעזור לך במקרה ובו יש פרמטר שמקבל 2 הקשות, ואז אם המשתמש יקיש פעמיים כוכבית זה לא יחזור לתפריט הראשי
              יש דרך אחרת שפותרת גם את זה, לחפש את התו '*' בכל המחרוזת של השאילתה

              נכון
              וזה מה שהוא צריך כנראה
              שרק אם הקישו פעם אחת * יופנה לתפריט ראשי
              ולא למשל אם מישהו רצה להקיש 25 וחצי והמשתמש יקיש '25*5' הוא יוחזר לתפריט הראשי

              A תגובה 1 תגובה אחרונה תגובה ציטוט 0
              • A
                amp Software 0 @לעזור לכולם נערך לאחרונה על ידי

                @לעזור-לכולם

                @לעזור-לכולם אמר בכיצד בודקים האם יש פרמטר ב-url שמכיל ערך ספציפי:

                ולא למשל אם מישהו רצה להקיש 25 וחצי והמשתמש יקיש '25*5'

                בהנחה שכך מוגדר אצלו להמיר * לנקודה אתה צודק
                בכל מקרה ברגע שמוגדר הקשה של יותר ממקש אחד חייבים פתרון להקשה כפולה של כוכבית, כי מכיון שהמערכת ממתינה להקשה נוספת, לפעמים אדם חושב שלא נלחץ ומקיש עוד פעם. במקרה כזה אם לא חסמת את מקש כוכבית זה יכול ליצור באגים [ברגע שאתה מבקש מהמשתמש להקיש ספרה כל שהיא, ברגע שהשרת יקבל תו שהוא לא ספרה זה אמור להסתבך איפשהוא], ולכן הפתרון הנ"ל הוא היעיל ביותר (מנסיון)

                מ תגובה 1 תגובה אחרונה תגובה ציטוט 0
                • מ
                  מתכנת בעתיד @amp Software 0 נערך לאחרונה על ידי

                  @amp-Software-0 @לעזור-לכולם
                  אכן במקרה שלי אני משתמש עם * כהמרה לנקודה.
                  מה שאעשה זה בדיקה האם * נמצא בתחילה המערכת תעביר אותו לתפריט ראשי, אחרת המערכת תמיר אותו לנקודה.
                  תודה רבה.

                  תגובה 1 תגובה אחרונה תגובה ציטוט 0
                  • פוסט ראשון
                    פוסט אחרון