![]() |
לא לאפשר רענון דף עם אותו מידע של POST, איך?
שלום,
יש לי טופס כלשהו, אחרי שהוא נשלח אני לא רוצה שהם יוכלו לעשות F5 ולשלוח את הform מחדש, איך מונעים מהם את זה? :) תודה :D |
ב"ה
אחרי קבלת הנתונים תעשה header location לאותו דף. ואז ריענון רק יטען את הדף מחדש ולא ישלח נתונים. |
אתה יכול גם לשרשר מס' מסויים ל action של הטופס: handle_with_care.asp?nRandom=0734503956 ולתקוע ב session ובעת רפרש לבדוק אם זה קיים או לא ולפעול בהתאם.
|
|
זה כאילו יעביר אותך מחדש לדף ושיעשו רענן זה פשוט ירענן את הדף ולא ישלח פעמים. הבנת?
|
אני לא ממש מבין בתיכנות אבל אני חושב שהבנתי את מה שאלעד אמר,
מה שאני חושב שהוא אמר זה שכל אחד שנכנס אתה יוצר לו דף איזה שאתה צריך ואז ברגע שהוא עושה את מה שהוא צריך, אתה מכניס סשיין שלא מאפשר לראות את הדף. ואם זה ככה אז כך רעיון אולי תיצור דף לכל אחד שנכנס ובסיום תעשה משהו שימחוק אותו. מקווה שעזרתי, ושמה שאמרתי לא שטויות חח. |
אתה יכול לשמור את האיפי של המשתמש , ולבדוק אם הוא שלח ב X הזמן האחרון בטופס משהו.
זה גם עוזר שלא ישלחו לא רק רענון ב F5 אלא שאם ינסו לשלוח כמה פעמים את הטופס בלי F5. ----- או : במקום הזמן , אתה פשוט יכול לשמור רק את האיפי האחרון שאיתו נשלח הטופס. ואז לעשות בדיקה. |
עוד לא הבנתי בשביל מה כל זה? אחרי שנשלח הפוסט עושים header וזהו מה יותר פשוט מזה?
|
amirs_5
פתרון מאוד לא חכם, אני מחפש אפשרות ישירה לחסימת רענון הדף לדעתי זה דבר הכרחי באיזשוהי שפת תיכנות... ואתם נראה לי לא מבינים. אם למשל יש לי כזה דבר: page?act=showform שמה יש לי טופס שנשלח לי ל page.php?act=send ואז שעושים submit לטופס הוא נשלח ללינק הזה ושולח אימייל לכתובת מסויימת עכשיו שהם הולכים לpage.php?act=send וזה כבר שלח פעם אחת אימייל, הם יכולים ללחוץ על F5 ולתת לדפדפן לרענן את הדף + המשתנים שנשלחו אליו בPOST... ואז הם יכולים לשלוח המון אימיילים עם רענון... אני בעצם רוצה לחסום שהם לא יוכלו לעשות רענון עם הנתונים הקודמים.. עריכה: עלה לי עכשיו רעיון מההודעה של אלעד, אלעד תגיד לי אם לזה התכוונת: שזה ישלח ביחד עם הטופס גם את מספר הID (ששמור כבר במסד) של שליחת הטופס, ואז שנשלח הטופס אני מגדיר במסד שהטופס נשלח, ואז כל פעם אני מבצע בדיקה אם הטופס נשלח או לא. לזה התכוונת אלעד? |
אחרי שאתה מעבד ושולח את המייל אתה מעביר את המשתמש לדף אחר ויוצר גם סישן, מהו הדף האחר?!? אותו הדף page.php?act=send ...
תעשה בדיקה בדף הזה אם קיים סישן ואם הוא קיים אז במקום שזה ישלח מייל זה יכתוב המייל נשלח בהצלחה... |
כל הזמנים הם GMT +2. הזמן כעת הוא 07:49. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ