עבור לתוכן

עזרה בהעברת משתנים בין דפי php

Featured Replies

פורסם

אני רוצה להעביר כמה משתנים בין קבצי php, בלי FORM ובלי HTML...

כל התשובות שראיתי באינטרנט כללו FORM, וכפתור SUBMIT, אני מחפש קוד שירוץ בלי SUBMIT.

מישהו בבקשה יכול לעזור לי ?

פורסם

include?

פורסם
  • מחבר

אתה יכול לפרט?

פורסם

אם אתה מתכוון לשמור מידע כלשהו על המשתמש, אז אתה יכול לעשות את זה באמצעות cookies.

אם אתה רוצה שהמשתנים יהיו יותר ספציפיים אז זה קצת יותר מורכב.

יעזור אם תאמר מה אתה בדיוק רוצה לעשות.

פורסם
  • מחבר

אני מנסה לעשות טופס של הרשמה "user" חדש למסד נתונים של MYSQL...

לאחר הלחיצה על SUBMIT, נשלחים הנתונים בעזרת POST לcheckinfo.php, שבודק אם הנתונים עומדים בקריטריונים שאני

הצבתי, לדוגמא שהכתובת אימייל כוללת את הפורמט הבא XXX@XXXX.XXX..

אם שcheckinfo.php מגלה שהנתונים עומדים בקריטריונים אז הם נשלחים לadduser.php אחר שמוסיף אותם למסד הנתונים.

את הקוד של איך אני מעביר את הנתונים מcheckinfo.php לadduser.php, בלי כפתור SUBMIT, שפשוט תהיה איזה פונקציה

שתעביר לי שלושה נתונים בין הפורומים בלי צורך ללחוץ SUBMIT...

פורסם

אז אתה בעצם רוצה שהפונקציות שנמצאות ב-adduser יהיו זמינות ל-checkinfo. אין שום סיבה שזה בכלל יעבור דרך הלקוח - אתה רוצה שאם checkinfo מצליח אז הוא ישר יוסיף את המשתמש החדש למסד הנתונים, בלי צורך לעבור בדף php נוסף.

למה לא פשוט לעשות שטופס ההרשמה ישלח ישירות ל-adduser, ובתוכו תהיה גם פונקציה אחת שבודקת שהנתונים עומדים בקריטריונים וגם פונקציה אחרת שמוסיפה את המשתמש למסד הנתונים?

פורסם
  • מחבר

כן אני יכול לעשות את זה , סתם התקבעתי בתכנות בגלל ההתפתחות של התוכנה... תודה

אבל למען הידע הכללי, איך אני בכל זאת מעביר נתונים מPHP לPHP בלי SUBMIT?

פורסם

בעקרון אין כזה דבר באופן ישיר - מי שמבקש דפי 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 עם המידע הנוכחי) אז היא לא תכניס את המשתמש למסד הנתונים.

כמובן כל זה ייפתר אם תעשה הכל בצד השרת וזהו...

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים