הוספת משתנים באופן יזום לבקשה
-
כתבתי קוד ב-PHP להתממשקות עם שלוחת ה-API שיצרתי במערכת.
אני מנסה לשלוח פרמטרים נוספים ל-request באופן דינאמי ויזום בתוך הקוד, ללא שימוש ב-read וב-id_list_message, כך שהפרמטרים הללו יופיעו ב- $_GET.ניסיתי לעשות את זה בהתחלה כך:
echo "re_record_city=2&city=ירושלים";אך זה לא הצליח.
נראה לי שהתשובה לכך נמצאת ב"מודול API" בכותרת "פרמטרים קבועים שנשלחים לשרת":
לדוגמה אם ברצונכם שבכל פנייה לשרת המערכת תצרף את הפרמטרים foo=111 bar=222 יש להגדיר בהגדרות השלוחהapi_add_0=foo=111 api_add_1=bar=222במקרה כזה הבקשה ב-GET תראה כך
https://example.com/YemotApi?foo=111&bar=222הבעיה היא שאני לא יודע איך לשלב את זה בקוד PHP.
שאלה נוספת:
איך אפשר לשנות ערך פרמטר קיים תוך כדי שימוש ב-read? (מדובר בפרמטר ששונה מהפרמטר של read, ואני מעוניין לשנות את הערך שלו ב-$_GET בצורה יזומה בקוד).
לדוגמא נניח שכבר קיים הפרמטר foo=1, וכעת אני מעוניין לקלוט באמצעות read את הפרמטר bar, אך תוך כדי הקליטה של bar, אני מעוניין ש-foo ישתנה בצורה יזומה.אשמח אם תוכלו להכווין אותי כיצד ניתן ליישם את זה בצורה הנכונה.
-
S soris1989 סימן נושא זה כשאלה ב
-
@soris1989 לכן אתה צריך להגדיר במפורש שהסשן יהיה לפי פרמטר מזהה השיחה שימות שולחים (ולאפס אותו לפני יציאה מהשלוחה):
session_id($_GET['ApiCallId']); session_start();קרדיט @amp-Software-0 , אני לא כותב בPHP
-
@soris1989 אתה לא יכול, הגדרת משתנים שרירותית לכל הבקשות זה מראש בהגדרות השלוחה, לא בתשובה שלך המודל api
נראה לי שמה שאתה מחפש זה סשנים -
@צדיק-תמים אז זהו, ש-session לא יעבוד. למרות שהמידע של ה-session נשמר על השרת המרוחק שבבעלותי, בכל אופן ה-session משתמש ב-cookie כדי לשמור את ה-ID בשם PHPSESSID בצד הלקוח (זה נשמר כעוגיה בדפדפן), ובמעבר בין דפים באתר (או בכל אפליקצית WEB), בזכות העוגיה הזו, הדפדפן דולה את המידע מה-session שבצד השרת ושומר על: data persistency.
כאן הסיפור הוא שונה, אין כאן דפדפן ששומר את העוגיה הזו, זה נטו צד שרת, ולכן בכל פעם שה-API נטען ה-session נאבד, מפאת העובדה שאין עוגיה ששומרת את ה-PHPSESSID.ולכן השתמתי בגישה אחרת מאשר session, השתמשתי במסד נתונים / בקבצים לשמירת הנתונים לאורך הבקשות ב-API.
ואגב, לרווחא דמילתא, לצורך הבדיקה, החלפתי את המודול שבניתי שעובד(מודול ששומר את המידע בין הבקשות בקובץ זמני), ובניתי מודול שמבוסס על session - וזה לא עובד, המידע לא נשמר ב-session.
-
@soris1989 לכן אתה צריך להגדיר במפורש שהסשן יהיה לפי פרמטר מזהה השיחה שימות שולחים (ולאפס אותו לפני יציאה מהשלוחה):
session_id($_GET['ApiCallId']); session_start();קרדיט @amp-Software-0 , אני לא כותב בPHP
-
@צדיק-תמים כתב בהוספת משתנים באופן יזום לבקשה:
session_id($_GET['ApiCallId']);
תודה רבה,
זה עזר לי מאוד!! -
S soris1989 סימן נושא זה כנפתר ב
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות