PDA

View Full Version : مشکل با ساخت wizard نصب در یک صفحه



LORD AELX
دوشنبه 04 مرداد 1389, 00:35 صبح
من برای اینکه یک wizard برای installation وبسایتم طراحی کنم، یک session بنام step ساختم و مقدار default آن را برابر 1 قرار دادم. سپس چک کردم که درصورتیکه کاربر دکمه submit را فشرده بود و ضمن اینکه این session هم وجود داشت، بیاد به مقدار اون یک واحد اضافه کنه تا من بفهمم کاربر در کجای کار قرار داره و با یک switch مراحل رو چاپ کنم.

مشکل من اینجاست که با refresh صفحه، کاربر به مرحله بعد منتقل می شود. این مشکل رو سعی کردم با چک کردن فشرده شدن کلید submit رفع کنم ولی ظاهرا یک بار فشردن آن و ذخیره شدن آن در متغیر REQUEST_$ در تمامی refresh های بعدی باقی می ماند، در نتیجه فقط فرم اول مشکلی از این بابت ندارد و بقیه فرم ها به همان منوال قبلی باقی می مانند و با refresh صفحه به مرحله بعدی منتقل می شوند.

آیا راهی هست تا این دکمه را از حالت inset در آورد؟ (unset کردن جواب نمی دهد.)

این رو هم اضافه کنم که هر فرم چاپ شده دارای دکمه مشابهی با فرم قبل است یعنی به همان نام. ولی نمیخواهم با اختصاص یک نام منحصر بفرد به دکمه هر فرم و اضافه کردن شروط به if آن را پیچیده کنم. آیا راه بهتری هست؟

متشکرم :قلب:

eshpilen
دوشنبه 04 مرداد 1389, 09:46 صبح
باید یک رشتهء رندوم در یک فیلد hidden در فرم خودت بذاری. موقعی که کاربر فرمی رو که قبلا ارسال کرده، با رفرش کردن صفحه مجددا ارسال میکنه، میتونی مقدار این فیلد رو چک کنی ببینی اون فرم قبلا سابمیت شده یا نه. مسلم هست که این رشتهء رندوم رو باید موقع اولین ارسال فرم در سشن ذخیره کرده باشی.

LORD AELX
دوشنبه 04 مرداد 1389, 11:43 صبح
باید یک رشتهء رندوم در یک فیلد hidden در فرم خودت بذاری. موقعی که کاربر فرمی رو که قبلا ارسال کرده، با رفرش کردن صفحه مجددا ارسال میکنه، میتونی مقدار این فیلد رو چک کنی ببینی اون فرم قبلا سابمیت شده یا نه. مسلم هست که این رشتهء رندوم رو باید موقع اولین ارسال فرم در سشن ذخیره کرده باشی.

ممنون، حالا آیا راهی که در پیش گرفتم خوب هست؟

rapidpich
دوشنبه 04 مرداد 1389, 13:24 عصر
میتونی هم از GET استفاده کنی

install.php?step=1
install.php?step=2
install.php?step=3