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

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

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

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

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

    אה, @חוקר בנה פעם משהו לזה...
    אחפש בהמשך.

    ח תגובה 1 תגובה אחרונה
    0
    • ח מנותק
      ח מנותק
      חוקר
      השיב לMusiCode ב נערך לאחרונה על ידי
      #3

      @MusiCode
      אולי רציתי, לא זכור לי שיצא משהו בסוף.
      @nigun
      אני אף פעם לא השתמשתי ב PHP בגו טו, אין לי מושג כמה זה יעיל.
      אבל מה שכן אני הייתי הולך על כיון אחר, לוקח את $_SERVER["QUERY_STRING"]; ששם יש את המחרוזת של הGET, ומפצל אותו או עושה חיפוש כמה פעמים מופיע הערך המבוקש, וכך אתה יודע באיזה מוצר הוא אוחז.
      אבל בכל מקרה זה לא נכון כי אם אתה שולח תמיד את אותו שם של הפרמטר, זה ידרוס תמיד את הערך שנשלח במוצר הקודם, וכל המוצרים חוזרים להיות אותו הקשה.
      לכן אולי לעשות פיתרון משהו בנוסח של

      exit( "read=t-לאישור הקש אחת לביטול שתיים=approve[],no,1,1,7,No,,,,#12*,," );
      

      שזה יוצר מערך של ההקשות במקום ערך קבוע, ולפי זה לבצע את המעבר ממוצר למוצר.

      MusiCodeM WWWW 2 תגובות תגובה אחרונה
      2
      • MusiCodeM מנותק
        MusiCodeM מנותק
        MusiCode
        השיב לחוקר ב נערך לאחרונה על ידי
        #4

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

        ח תגובה 1 תגובה אחרונה
        0
        • ח מנותק
          ח מנותק
          חוקר
          השיב לMusiCode ב נערך לאחרונה על ידי
          #5

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

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

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

          nigunN תגובה 1 תגובה אחרונה
          0
          • WWWW מנותק
            WWWW מנותק
            WWW
            כתב ב נערך לאחרונה על ידי
            #6

            זו אחת הסיבות המשמעותיות שבגינה אני שונא את ה API שלהם 😞

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

            תגובה 1 תגובה אחרונה
            2
            • WWWW מנותק
              WWWW מנותק
              WWW
              השיב לחוקר ב נערך לאחרונה על ידי
              #7

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

              אני אף פעם לא השתמשתי ב PHP בגו טו, אין לי מושג כמה זה יעיל.

              זה יעיל, אבל ממש לא תיקני.

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

              תגובה 1 תגובה אחרונה
              2
              • 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
                • ח מנותק
                  ח מנותק
                  חוקר
                  השיב לnigun ב נערך לאחרונה על ידי
                  #9

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

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

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

                  תגובה 1 תגובה אחרונה
                  0
                  • WWWW מנותק
                    WWWW מנותק
                    WWW
                    השיב לnigun ב נערך לאחרונה על ידי
                    #10

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

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

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

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

                    nigunN תגובה 1 תגובה אחרונה
                    0
                    • nigunN מנותק
                      nigunN מנותק
                      nigun
                      השיב לWWW ב נערך לאחרונה על ידי
                      #11

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

                      מייל: nigun@duck.com

                      WWWW 2 תגובות תגובה אחרונה
                      0
                      • WWWW מנותק
                        WWWW מנותק
                        WWW
                        השיב לnigun ב נערך לאחרונה על ידי
                        #12

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

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

                        לא יודע.

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

                        תגובה 1 תגובה אחרונה
                        0
                        • WWWW מנותק
                          WWWW מנותק
                          WWW
                          השיב לnigun ב נערך לאחרונה על ידי
                          #13

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

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

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

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

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

                          nigunN תגובה 1 תגובה אחרונה
                          1
                          • nigunN מנותק
                            nigunN מנותק
                            nigun
                            השיב לWWW ב נערך לאחרונה על ידי
                            #14

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

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

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

                            מייל: nigun@duck.com

                            WWWW תגובה 1 תגובה אחרונה
                            1
                            • WWWW מנותק
                              WWWW מנותק
                              WWW
                              השיב לnigun ב נערך לאחרונה על ידי
                              #15

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

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

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

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

                              ח תגובה 1 תגובה אחרונה
                              0
                              • ח מנותק
                                ח מנותק
                                חוקר
                                השיב לWWW ב נערך לאחרונה על ידי
                                #16

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

                                זה ברור!

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

                                WWWW תגובה 1 תגובה אחרונה
                                2
                                • WWWW מנותק
                                  WWWW מנותק
                                  WWW
                                  השיב לחוקר ב נערך לאחרונה על ידי
                                  #17

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

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

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

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

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

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

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

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

                                    nigunN תגובה 1 תגובה אחרונה
                                    2
                                    • nigunN מנותק
                                      nigunN מנותק
                                      nigun
                                      השיב לMusiCode ב נערך לאחרונה על ידי
                                      #19

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

                                      מייל: nigun@duck.com

                                      תגובה 1 תגובה אחרונה
                                      0

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

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

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