רק אם יש לכם זמן

יוגורט

משתמש מקצוען
להסביר לי איפה התוצאות של הform מתקבלות. אם אני רוצה לשלוח אותם לכתובת נגיד:127.0.0.1, port: 1234
או שלא הבנתי איך זה עובד...
 

dem

משתמש מקצוען
D I G I T A L
לא פירטת מספיק,
אתה שולח ב POST?
 

יוגורט

משתמש מקצוען
עד היום השתמשתי בjavascript כדי לקרוא את כל הנתונים, ושלחתי ככה:
PHP:
    xmlhttp.open("GET", "php/control_cmd.php?cmd_id=108&data_length=1&data0=" + gpio_index);

ובדף הזה פתחתי socket וכו' ושלחתי לכתובת מתוארת למעלה.

אתמול גיליתי שיש כזה דבר form and action... ולא כל כך הצלחתי להבין מה נשלח ולאן
 

שמח לעזור

משתמש מקצוען
D I G I T A L
אז זה הזמן ללמוד. טפסים בHTML עשוים לחסוך זמן וקוד.
הם שימושיים במיוחד כשהנתונים נלקחים מהמשתמש. הנה דוגמה למקרה שלך:

This user does not have permission to use the HTML BB code.

קוד:
<form action="php/control_cmd.php">
    <input name="cmd_id" value="108" type="hidden" />
    <input name="data_length" value="1" type="hidden" />
    enter index:<br/>
    <input type="text" name="data0" />
    <input type="submit" value="Submit">
</form>

הטופס הזה ניתן מאוד אוטומטי: לא כתבנו קוד בכלל לשלוח, לאסוף פרמטרים. והנה הקסם, בעת לחיצה על הכפתור, הדפדפן אוסף את הנתונים בצורת שם(name של אלמנט)/ערך (value של כל אלמנט). ומשרשר אותם כמחרוזת URL בשיטת GET (ברירת המחדל) לכתובת שהוזנה בaction. אם רוצים POST מציינים זאת באטריביוט בform בשם type.

נ.ב. כיון שבקוד שלכם היה ערכים קבועים שאינם מגיעים מקלט המשתמש שילבתי אותם בinputים נסתרים, כך מקובל.
 

שמח לעזור

משתמש מקצוען
D I G I T A L
בקשר לפורט, אם זה יחסי לכתובת הקיימת זה מיותר לגמרי. אם זה כתובת מאתר אחר לגמרי אז מציינים את הפורט בדיוק כמו בדפדפן: בסיום הדומיין המלא אחרי נקודתיים לפני ההמשך (QueryString) אם ישנו.
 

יוגורט

משתמש מקצוען
דווקא הערכים הם לא קבועים אלא היו מ-ל-א אלמנטים (לא דווקא בטופס הזה) ובמכלל לא היה Form אלא div ובמקום submit היה button ו onclick שמפנה לפונקציה והפונקציה עוברת על כל האינפוטים ומוציאה את התוכן שלהם ואז שולחת כנ"ל.

מה ההבדל בין post ל get?
 

שמח לעזור

משתמש מקצוען
D I G I T A L
נכתב ע"י יוגורט;1615127:
מה ההבדל בין post ל get?

זה שתי דרכים בהם דפדפנים שולחים ערכים לשרת. או כGET וזה שרשור ערכי טקסט בURL אחרי הדומיין וסימן שאלה. זה בדיוק איך שעשיתם בJS. זה גם הצורה בה אתם גולשים לדף הזה בפרוג, כשבשורת הכתובת ישנם שתיים שלוש פרמטרים משורשים כשבין שם הפרמטר לערכו מפריד סימן שוויון, ובין פרמטר לאחר מפריד סימן ה&.

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

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

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

שמח לעזור

משתמש מקצוען
D I G I T A L
נכתב ע"י יוגורט;1615338:
לכמה שאילתא GET מוגבלת?

שאלה טובה. לפי התקן אין הגבלה בכלל, אבל בפועל יש בהחלט הגבלה. זה תלוי ביצרניות התכונה של השרתים והדפדפנים.
ראו כאן פרטים על הגבולות השונים: http://www.boutell.com/newfaq/misc/urllength.html
שם גם ניתנת המלצה לא להתקרב ל2000 תווים.
 

wmw

משתמש פעיל
D I G I T A L
שאילתת GET לא מוצפנת בכלל לעומת שאילתת POST הנשלחת תחת HTTPS שהיא מוצפנת
 

אולי מעניין אותך גם...

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק קלז

א עַל נַהֲרוֹת בָּבֶל שָׁם יָשַׁבְנוּ גַּם בָּכִינוּ בְּזָכְרֵנוּ אֶת צִיּוֹן:ב עַל עֲרָבִים בְּתוֹכָהּ תָּלִינוּ כִּנֹּרוֹתֵינוּ:ג כִּי שָׁם שְׁאֵלוּנוּ שׁוֹבֵינוּ דִּבְרֵי שִׁיר וְתוֹלָלֵינוּ שִׂמְחָה שִׁירוּ לָנוּ מִשִּׁיר צִיּוֹן:ד אֵיךְ נָשִׁיר אֶת שִׁיר יְהוָה עַל אַדְמַת נֵכָר:ה אִם אֶשְׁכָּחֵךְ יְרוּשָׁלִָם תִּשְׁכַּח יְמִינִי:ו תִּדְבַּק לְשׁוֹנִי לְחִכִּי אִם לֹא אֶזְכְּרֵכִי אִם לֹא אַעֲלֶה אֶת יְרוּשָׁלִַם עַל רֹאשׁ שִׂמְחָתִי:ז זְכֹר יְהוָה לִבְנֵי אֱדוֹם אֵת יוֹם יְרוּשָׁלִָם הָאֹמְרִים עָרוּ עָרוּ עַד הַיְסוֹד בָּהּ:ח בַּת בָּבֶל הַשְּׁדוּדָה אַשְׁרֵי שֶׁיְשַׁלֶּם לָךְ אֶת גְּמוּלֵךְ שֶׁגָּמַלְתְּ לָנוּ:ט אַשְׁרֵי שֶׁיֹּאחֵז וְנִפֵּץ אֶת עֹלָלַיִךְ אֶל הַסָּלַע:
נקרא  3  פעמים

לוח מודעות

למעלה