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

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ספירת ערכים כפולים בget בphp

ספירת ערכים כפולים בget בphp

מתוזמן נעוץ נעול הועבר תכנות
19 פוסטים 4 כותבים 346 צפיות 3 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ח חוקר

    @MusiCode אמר בספירת ערכים כפולים בget בphp:

    @חוקר אני מדבר על ()check_ok (זוכר?...)

    זה נושא אחר, זה משמש לבדיקה על ערך (שנשלח פעמיים), האם הערך האחרון ב GET הינו הערך המבוקש.
    לא נראה לי שזה קשור לכאן, כי כאן הוא צריך לדעת בנפרד על כל מוצר מה הייתה ההקשה.

    nigunN מנותק
    nigunN מנותק
    nigun
    כתב ב נערך לאחרונה על ידי nigun
    #8

    @חוקר
    אני התכוונתי לבדוק כמה פעמים זה נשלח
    ככה אם הלקוח טעה ורוצה לתקן הוא מקיש 2 וחוזר להקשה מחדש של כמות הפריטים
    ואז כיוון שהערך item מופיע פעמיים והערך approve רק פעם אחת הוא מקבל שוב את התפריט "לאישור..."
    אם הוא מקיש 1 אז עכשיו גם approve וגם item מופעים פעמיים ואז הוא ממשיך הלאה

    לגבי הגו טו אמנם לא מומלץ להשתמש בו כי זה גורם אחר כך לקוד קשה לקריאה
    אבל כאן זה יותר נוח לכתוב גו טו מאשר לכתוב שוב את אותו תפריט או להשתמש בפונקציה כי הוא באמת חוזר אחורה

    בכל מקרה הפתרון הוא אכן QUERY_STRING
    זה מה שכתבתי וזה פתרן לי את הבעיה

    $query_string = $_SERVER['QUERY_STRING'];
    $item_count = substr_count($query_string, 'item=');
    $approve_count = substr_count($query_string, 'approve=');
    
    extract($_GET);
    if (!$item){
      a:
                exit( "read=t-אנא בחר כמות מוצרים    =item,no,1,1,7,No,,,," );
     
    }
     
    if($approve_count<$item_count){
                    exit( "read=t-לאישור הקש אחת לביטול שתיים=approve,no,1,1,7,No,,,,#12*,," );
     
    }
    if($approve==2){
    goto
        a;
    }
    

    אמנם במקרה של הרבה מוצרים ובסוף הקראה של כל המוצרים בסל ואז שאלה של "לאישור ..."
    אז זה יהיה קצת יותר מורכב

    מייל: nigun@duck.com

    ח WWWW 2 תגובות תגובה אחרונה
    0
    • nigunN nigun

      @חוקר
      אני התכוונתי לבדוק כמה פעמים זה נשלח
      ככה אם הלקוח טעה ורוצה לתקן הוא מקיש 2 וחוזר להקשה מחדש של כמות הפריטים
      ואז כיוון שהערך item מופיע פעמיים והערך approve רק פעם אחת הוא מקבל שוב את התפריט "לאישור..."
      אם הוא מקיש 1 אז עכשיו גם approve וגם item מופעים פעמיים ואז הוא ממשיך הלאה

      לגבי הגו טו אמנם לא מומלץ להשתמש בו כי זה גורם אחר כך לקוד קשה לקריאה
      אבל כאן זה יותר נוח לכתוב גו טו מאשר לכתוב שוב את אותו תפריט או להשתמש בפונקציה כי הוא באמת חוזר אחורה

      בכל מקרה הפתרון הוא אכן QUERY_STRING
      זה מה שכתבתי וזה פתרן לי את הבעיה

      $query_string = $_SERVER['QUERY_STRING'];
      $item_count = substr_count($query_string, 'item=');
      $approve_count = substr_count($query_string, 'approve=');
      
      extract($_GET);
      if (!$item){
        a:
                  exit( "read=t-אנא בחר כמות מוצרים    =item,no,1,1,7,No,,,," );
       
      }
       
      if($approve_count<$item_count){
                      exit( "read=t-לאישור הקש אחת לביטול שתיים=approve,no,1,1,7,No,,,,#12*,," );
       
      }
      if($approve==2){
      goto
          a;
      }
      

      אמנם במקרה של הרבה מוצרים ובסוף הקראה של כל המוצרים בסל ואז שאלה של "לאישור ..."
      אז זה יהיה קצת יותר מורכב

      ח מנותק
      ח מנותק
      חוקר
      כתב ב נערך לאחרונה על ידי
      #9

      @nigun אמר בספירת ערכים כפולים בget בphp:

      אמנם במקרה של הרבה מוצרים ובסוף הקראה של כל המוצרים בסל ואז שאלה של "לאישור ..."
      אז זה יהיה קצת יותר מורכב

      אני הבנתי שזה מה שאתה צריך לכן כתבתי את מה שכתבתי

      תגובה 1 תגובה אחרונה
      0
      • nigunN nigun

        @חוקר
        אני התכוונתי לבדוק כמה פעמים זה נשלח
        ככה אם הלקוח טעה ורוצה לתקן הוא מקיש 2 וחוזר להקשה מחדש של כמות הפריטים
        ואז כיוון שהערך item מופיע פעמיים והערך approve רק פעם אחת הוא מקבל שוב את התפריט "לאישור..."
        אם הוא מקיש 1 אז עכשיו גם approve וגם item מופעים פעמיים ואז הוא ממשיך הלאה

        לגבי הגו טו אמנם לא מומלץ להשתמש בו כי זה גורם אחר כך לקוד קשה לקריאה
        אבל כאן זה יותר נוח לכתוב גו טו מאשר לכתוב שוב את אותו תפריט או להשתמש בפונקציה כי הוא באמת חוזר אחורה

        בכל מקרה הפתרון הוא אכן QUERY_STRING
        זה מה שכתבתי וזה פתרן לי את הבעיה

        $query_string = $_SERVER['QUERY_STRING'];
        $item_count = substr_count($query_string, 'item=');
        $approve_count = substr_count($query_string, 'approve=');
        
        extract($_GET);
        if (!$item){
          a:
                    exit( "read=t-אנא בחר כמות מוצרים    =item,no,1,1,7,No,,,," );
         
        }
         
        if($approve_count<$item_count){
                        exit( "read=t-לאישור הקש אחת לביטול שתיים=approve,no,1,1,7,No,,,,#12*,," );
         
        }
        if($approve==2){
        goto
            a;
        }
        

        אמנם במקרה של הרבה מוצרים ובסוף הקראה של כל המוצרים בסל ואז שאלה של "לאישור ..."
        אז זה יהיה קצת יותר מורכב

        WWWW מנותק
        WWWW מנותק
        WWW
        כתב ב נערך לאחרונה על ידי
        #10

        @nigun אמר בספירת ערכים כפולים בget בphp:

        אבל כאן זה יותר נוח לכתוב גו טו מאשר לכתוב שוב את אותו תפריט או להשתמש בפונקציה כי הוא באמת חוזר אחורה

        אתה אמור להשתמש בלולאה.
        יום אחד תשדרג את ה PHP בשרת, ותצטרך לתקן הרבה קוד...

        WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

        nigunN תגובה 1 תגובה אחרונה
        0
        • WWWW WWW

          @nigun אמר בספירת ערכים כפולים בget בphp:

          אבל כאן זה יותר נוח לכתוב גו טו מאשר לכתוב שוב את אותו תפריט או להשתמש בפונקציה כי הוא באמת חוזר אחורה

          אתה אמור להשתמש בלולאה.
          יום אחד תשדרג את ה PHP בשרת, ותצטרך לתקן הרבה קוד...

          nigunN מנותק
          nigunN מנותק
          nigun
          כתב ב נערך לאחרונה על ידי
          #11

          @WWW
          איפה אני מכניס כאן לולאה?
          ובאיזה גירסת PHP אני יתקע?

          מייל: nigun@duck.com

          WWWW 2 תגובות תגובה אחרונה
          0
          • nigunN nigun

            @WWW
            איפה אני מכניס כאן לולאה?
            ובאיזה גירסת PHP אני יתקע?

            WWWW מנותק
            WWWW מנותק
            WWW
            כתב ב נערך לאחרונה על ידי
            #12

            @nigun אמר בספירת ערכים כפולים בget בphp:

            ובאיזה גירסת PHP אני יתקע?

            לא יודע.

            WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

            תגובה 1 תגובה אחרונה
            0
            • nigunN nigun

              @WWW
              איפה אני מכניס כאן לולאה?
              ובאיזה גירסת PHP אני יתקע?

              WWWW מנותק
              WWWW מנותק
              WWW
              כתב ב נערך לאחרונה על ידי
              #13

              @nigun אמר בספירת ערכים כפולים בget בphp:

              איפה אני מכניס כאן לולאה?

              אין לי כ"כ זמן.

              אבל הרעיון הוא שתמיד אמור להיות דרך אחרת מ GOTO.
              אם צריך להגיע לGOTO זה אומר שהקוד לא מתוכנן נכון.

              WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

              nigunN תגובה 1 תגובה אחרונה
              1
              • WWWW WWW

                @nigun אמר בספירת ערכים כפולים בget בphp:

                איפה אני מכניס כאן לולאה?

                אין לי כ"כ זמן.

                אבל הרעיון הוא שתמיד אמור להיות דרך אחרת מ GOTO.
                אם צריך להגיע לGOTO זה אומר שהקוד לא מתוכנן נכון.

                nigunN מנותק
                nigunN מנותק
                nigun
                כתב ב נערך לאחרונה על ידי
                #14

                @WWW אמר בספירת ערכים כפולים בget בphp:

                אם צריך להגיע לGOTO זה אומר שהקוד לא מתוכנן נכון.

                או שהAPI של ימות לא מתוכנן נכון

                מייל: nigun@duck.com

                WWWW תגובה 1 תגובה אחרונה
                1
                • nigunN nigun

                  @WWW אמר בספירת ערכים כפולים בget בphp:

                  אם צריך להגיע לGOTO זה אומר שהקוד לא מתוכנן נכון.

                  או שהAPI של ימות לא מתוכנן נכון

                  WWWW מנותק
                  WWWW מנותק
                  WWW
                  כתב ב נערך לאחרונה על ידי
                  #15

                  @nigun אמר בספירת ערכים כפולים בget בphp:

                  או שהAPI של ימות לא מתוכנן נכון

                  זה ברור! 🙂
                  אבל הכוונה שלי היא, שתמיד יש אלטרנטיבה בקוד ל GOTO.

                  WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                  ח תגובה 1 תגובה אחרונה
                  0
                  • WWWW WWW

                    @nigun אמר בספירת ערכים כפולים בget בphp:

                    או שהAPI של ימות לא מתוכנן נכון

                    זה ברור! 🙂
                    אבל הכוונה שלי היא, שתמיד יש אלטרנטיבה בקוד ל GOTO.

                    ח מנותק
                    ח מנותק
                    חוקר
                    כתב ב נערך לאחרונה על ידי
                    #16

                    @WWW אמר בספירת ערכים כפולים בget בphp:

                    זה ברור!

                    "נישט קשה", למה לקטר? אתה היית בונה את זה יותר טוב?
                    אני לא אומר שזה הכי קל לעבוד מולם, אבל כשזה תחליף להתעסקות לבד עם כל הבלאגן של שרת פרטי, ואתה משקיע במוצר שלך ולא בתשתית, זה ממש ממש מצויין.
                    כמובן צריך לתכנן את זה טוב, לבנות פונקציות שעושים את העבודה מול ימות ואז הכל זורם.
                    ולגבי עצם השאלה כאן בפורום אם היה לי יותר זמן וריכוז אולי הייתי מנסה לחשוב על פיתרון, אבל כבר התחלתי את הזמן, והצטבר לי המון עבודה מבין הזמנים שנדחתה עקב שמחה משפחתית, שאין לי כעת את הריכוז, אבל ודאי שאפשר למצוא פיתרון.
                    כיון אחד שאני יכול לזרוק, לעבוד לפי המזהה שיחה בימות שנשלח בURL שערכו ApiCallId, ולשמור בד"ב או במשתנה בשרת (אם זה נוד או משהו בסגנון זה אפשרי, בPHP חייבים לכאורה ד"ב) לשמור מערך של כל המוצרים שכבר נבחרו, וכן מצביע באיזה מספר מוצר הוא אוחז, ובכל שלב לקדם את המצביע למוצר הבא.
                    ובנוסף להוסיף לסקריפט תנאי שאם יש בGET משתנה hangup=yes זה מוחק את המערך של שיחה זו מהד"ב, כדי למנוע הצטברות מיותרת של שורות לא רלוונטיות.

                    WWWW תגובה 1 תגובה אחרונה
                    2
                    • ח חוקר

                      @WWW אמר בספירת ערכים כפולים בget בphp:

                      זה ברור!

                      "נישט קשה", למה לקטר? אתה היית בונה את זה יותר טוב?
                      אני לא אומר שזה הכי קל לעבוד מולם, אבל כשזה תחליף להתעסקות לבד עם כל הבלאגן של שרת פרטי, ואתה משקיע במוצר שלך ולא בתשתית, זה ממש ממש מצויין.
                      כמובן צריך לתכנן את זה טוב, לבנות פונקציות שעושים את העבודה מול ימות ואז הכל זורם.
                      ולגבי עצם השאלה כאן בפורום אם היה לי יותר זמן וריכוז אולי הייתי מנסה לחשוב על פיתרון, אבל כבר התחלתי את הזמן, והצטבר לי המון עבודה מבין הזמנים שנדחתה עקב שמחה משפחתית, שאין לי כעת את הריכוז, אבל ודאי שאפשר למצוא פיתרון.
                      כיון אחד שאני יכול לזרוק, לעבוד לפי המזהה שיחה בימות שנשלח בURL שערכו ApiCallId, ולשמור בד"ב או במשתנה בשרת (אם זה נוד או משהו בסגנון זה אפשרי, בPHP חייבים לכאורה ד"ב) לשמור מערך של כל המוצרים שכבר נבחרו, וכן מצביע באיזה מספר מוצר הוא אוחז, ובכל שלב לקדם את המצביע למוצר הבא.
                      ובנוסף להוסיף לסקריפט תנאי שאם יש בGET משתנה hangup=yes זה מוחק את המערך של שיחה זו מהד"ב, כדי למנוע הצטברות מיותרת של שורות לא רלוונטיות.

                      WWWW מנותק
                      WWWW מנותק
                      WWW
                      כתב ב נערך לאחרונה על ידי
                      #17

                      @חוקר אמר בספירת ערכים כפולים בget בphp:

                      "נישט קשה", למה לקטר? אתה היית בונה את זה יותר טוב?

                      אמממ... נראה לי שכן.

                      WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                      תגובה 1 תגובה אחרונה
                      1
                      • MusiCodeM מנותק
                        MusiCodeM מנותק
                        MusiCode
                        כתב ב נערך לאחרונה על ידי
                        #18

                        אני חולם לבנות מחלקה (לאו דווקא בשפה ספיציפית),
                        שתפתור את הבעיות האלה, מתחת למכסה המנוע.
                        כמו המחלקות שיש לARI של אסטריסק, שמתחברות בו"ז לווב-סוקט של אסטריסק, ולREST API של אסטריסק.

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

                        אולי פה תתנו כיוונים.
                        (למשל לעשות אובייקט שמציין את המשתמש, ויהיו לו מתודות, כמספר המתודות של ימות API,
                        ומתחת למכסה המנוע, האובייקט יבדוק כל הזמן בדטה-בייס איפה הוא נמצא עכשיו.
                        ואולי אפשר להשתמש בפייתון או כל שפה שיש רצף, ולא כל קריאה מתחילה את הכל מהתחלה.
                        הנה כמה רעיונות בוסריים.)

                        nigunN תגובה 1 תגובה אחרונה
                        2
                        • MusiCodeM MusiCode

                          אני חולם לבנות מחלקה (לאו דווקא בשפה ספיציפית),
                          שתפתור את הבעיות האלה, מתחת למכסה המנוע.
                          כמו המחלקות שיש לARI של אסטריסק, שמתחברות בו"ז לווב-סוקט של אסטריסק, ולREST API של אסטריסק.

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

                          אולי פה תתנו כיוונים.
                          (למשל לעשות אובייקט שמציין את המשתמש, ויהיו לו מתודות, כמספר המתודות של ימות API,
                          ומתחת למכסה המנוע, האובייקט יבדוק כל הזמן בדטה-בייס איפה הוא נמצא עכשיו.
                          ואולי אפשר להשתמש בפייתון או כל שפה שיש רצף, ולא כל קריאה מתחילה את הכל מהתחלה.
                          הנה כמה רעיונות בוסריים.)

                          nigunN מנותק
                          nigunN מנותק
                          nigun
                          כתב ב נערך לאחרונה על ידי
                          #19

                          @MusiCode
                          אתה רוצה לעשות מחלקה לימות או לאסטריסק?

                          מייל: nigun@duck.com

                          תגובה 1 תגובה אחרונה
                          0
                          תגובה
                          • תגובה כנושא
                          התחברו כדי לפרסם תגובה
                          • מהישן לחדש
                          • מהחדש לישן
                          • הכי הרבה הצבעות


                          בא תתחבר לדף היומי!
                          • התחברות

                          • אין לך חשבון עדיין? הרשמה

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