פורסם 2012 באפריל 2513 שנים אני רוצה להעביר כמה משתנים בין קבצי php, בלי FORM ובלי HTML...כל התשובות שראיתי באינטרנט כללו FORM, וכפתור SUBMIT, אני מחפש קוד שירוץ בלי SUBMIT.מישהו בבקשה יכול לעזור לי ?
פורסם 2012 באפריל 2513 שנים אם אתה מתכוון לשמור מידע כלשהו על המשתמש, אז אתה יכול לעשות את זה באמצעות cookies.אם אתה רוצה שהמשתנים יהיו יותר ספציפיים אז זה קצת יותר מורכב.יעזור אם תאמר מה אתה בדיוק רוצה לעשות.
פורסם 2012 באפריל 2513 שנים מחבר אני מנסה לעשות טופס של הרשמה "user" חדש למסד נתונים של MYSQL...לאחר הלחיצה על SUBMIT, נשלחים הנתונים בעזרת POST לcheckinfo.php, שבודק אם הנתונים עומדים בקריטריונים שאניהצבתי, לדוגמא שהכתובת אימייל כוללת את הפורמט הבא XXX@XXXX.XXX..אם שcheckinfo.php מגלה שהנתונים עומדים בקריטריונים אז הם נשלחים לadduser.php אחר שמוסיף אותם למסד הנתונים.את הקוד של איך אני מעביר את הנתונים מcheckinfo.php לadduser.php, בלי כפתור SUBMIT, שפשוט תהיה איזה פונקציהשתעביר לי שלושה נתונים בין הפורומים בלי צורך ללחוץ SUBMIT...
פורסם 2012 באפריל 2513 שנים אז אתה בעצם רוצה שהפונקציות שנמצאות ב-adduser יהיו זמינות ל-checkinfo. אין שום סיבה שזה בכלל יעבור דרך הלקוח - אתה רוצה שאם checkinfo מצליח אז הוא ישר יוסיף את המשתמש החדש למסד הנתונים, בלי צורך לעבור בדף php נוסף.למה לא פשוט לעשות שטופס ההרשמה ישלח ישירות ל-adduser, ובתוכו תהיה גם פונקציה אחת שבודקת שהנתונים עומדים בקריטריונים וגם פונקציה אחרת שמוסיפה את המשתמש למסד הנתונים?
פורסם 2012 באפריל 2513 שנים מחבר כן אני יכול לעשות את זה , סתם התקבעתי בתכנות בגלל ההתפתחות של התוכנה... תודהאבל למען הידע הכללי, איך אני בכל זאת מעביר נתונים מPHP לPHP בלי SUBMIT?
פורסם 2012 באפריל 2513 שנים בעקרון אין כזה דבר באופן ישיר - מי שמבקש דפי PHP הוא רק הלקוח, ולא השרת. זאת אומרת ש-checkinfo צריך להחזיר תשובה שאומרת ללקוח לפנות ל-adduser (הדפדפן יעשה את זה באופן אוטומטי, המשתמש לא יצטרך ללחוץ על כלום).דרך טובה לעשות זאת היא כזה דבר:ב-checkinfo, אתה בודק אם המידע תקין. אם לא - תחזיר שגיאה ללקוח, אם כן - תחזיר טופס שבו כל השדות שאתה רוצה להעביר ל-adduser, אבל כשכולם מסוג hidden, ואז באמצעות JavaScript תעשה submit לטופס.אופציה שנייה - לשלוח את הפרטים ל-adduser באמצעות Ajax. אם אתה לא מכיר Ajax, מומלץ מאוד שתלמד (יש מדריך בסיסי כאן).אופציה שלישית - במקרה של הצלחה, checkinfo יבצע redirect ישר ל-adduser. במקרה הזה לא תוכל להעביר לו פרטים ב-post, ולכן תצטרך להעביר אותם בשורת ה-query.בכל אחת מ-3 האפשרויות צריך לשים לב למשהו חשוב - לא מנענו מהמשתמש את האופציה לגשת ישירות ל-adduser בלי לעבור ב-checkinfo קודם. הדרך למנוע את זה היא באמצעות token אקראי: כש-checkinfo מצליח, יוצרים את ה-token הזה ומעבירים אותו כאחד הפרמטרים ל-adduser. אם adduser לא מקבלת token או שהיא מקבלת token לא תקני (כלומר, כזה שלא נוצר ע"י checkinfo עם המידע הנוכחי) אז היא לא תכניס את המשתמש למסד הנתונים.כמובן כל זה ייפתר אם תעשה הכל בצד השרת וזהו...
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.