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

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

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

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

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

    האם יש דרך לספור כמה פעמים נשלח אותו הערך בget?

    (אני צריך את זה בשביל הapi של ימות
    אני רוצה לבנות תפריט עם אפשרות של חזרה שלב אחד אחורה
    למשל אנא הקש את מספר המוצרים
    ובתפריט הבא נבחרו X מוצרים לאישור הקש 1 לביטול 2
    אם הוא הקיש 2 יחזור לתפריט הקודם ויבחר כמות מוצרים ואז ימשיך שוב לתפריט לאישור וכו'
    חשבתי לבנות משהו כזה

    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

    תגובה 1 תגובה אחרונה
    0
    • 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
                                        • דף הבית
                                        • קטגוריות
                                        • פוסטים אחרונים
                                        • משתמשים
                                        • חיפוש
                                        • חוקי הפורום