PDA

View Full Version : سوال: غیر فعال شدن فرم در زمان ارسال داده به سرور



mja1356
شنبه 31 مرداد 1388, 13:23 عصر
سلام
من دو فرم دارم که اولی هنگام submit عددی را به عنوان اعتبار کاربر از بانک اطلاعاتی خوانده و بر اساس آن محاسباتی انجام می دهد.

فرم دوم هم پس از submit تغییراتی را در متغیر (اعتبار کاربر ) ایجاد می کند.

مشکل اینجاست که اگر فرم دوم submit شود و بلافاصله پس از آن (کمتر از 6 ، 7) ثانیه فرم اول submit شود تغییرات ایجاد شده از submit h,g لحاظ نمی گردد و اعتبار کاربر به صورت سابق محاسبه می گردد.

راه حل این مساله چیست؟
چطور می توانم تا submit کامل فرم دوم به کاربر اجازه ندهم که فرم اول را ارسال کند یا اینکه راه حل دیگری دارد!!

چطور می توان زمان رسال داده ها را کم کرد؟
با تشکر

__ziXet__
شنبه 31 مرداد 1388, 13:31 عصر
سلام
من دو فرم دارم که اولی هنگام submit عددی را به عنوان اعتبار کاربر از بانک اطلاعاتی خوانده و بر اساس آن محاسباتی انجام می دهد.

فرم دوم هم پس از submit تغییراتی را در متغیر (اعتبار کاربر ) ایجاد می کند.

مشکل اینجاست که اگر فرم دوم submit شود و بلافاصله پس از آن (کمتر از 6 ، 7) ثانیه فرم اول submit شود تغییرات ایجاد شده از submit h,g لحاظ نمی گردد و اعتبار کاربر به صورت سابق محاسبه می گردد.

راه حل این مساله چیست؟
چطور می توانم تا submit کامل فرم دوم به کاربر اجازه ندهم که فرم اول را ارسال کند یا اینکه راه حل دیگری دارد!!

چطور می توان زمان رسال داده ها را کم کرد؟
با تشکر
اگه کد میذاشتی بهتر میشد راهنمایی کرد

mja1356
شنبه 31 مرداد 1388, 13:53 عصر
سلام

کدهای این دو فرم خیلی زیاد هستند و من به طور خلاصه شرح دادم

مثلا" فرض کنید کاربر علی در بانک اطلاعاتی دارای اعتبار 1000 است.من نام فرم اول را اعمال نتیجه می گذارم و فرم دوم را خرید.

زمانیکه من فرم اعمال نتیجه را submit می کنم فرضا 200 واحد به اعتبار علی اضافه می شود اما مساله اینجاست که اگر علی کمتر از 6 ، 7 ثانیه پس از ارسال فرم اعمال نتیجه ، فرم خرید را ارسال کند به جای 1200 همان اعتبار قبلی 1000 مبنای محاسبه قرار می گیرد به نظر خودم زمانی که فرم اعمال نتیجه به سرور ارسال می شود چند ثانیه ای طول می کشد و انگار بایستی کاری کرد تا کاربر نتواند در این زمان فرم خرید را submit کند

لطفا راهنمایی کنید

امیـرحسین
شنبه 31 مرداد 1388, 14:49 عصر
با جاوااسکریپت، وقتی submit اول اجرا شد، دکمه submit دوم رو غیرفعال کنید تا عملیات انجام بشه.

mja1356
دوشنبه 02 شهریور 1388, 16:05 عصر
سلام
شاید من منظورم را به درستی بیان نکردم
فرم اول که با خرید از اعتبار کاربر کم می شود توسط کاربر عادی انجام می شود و فرم دوم که تغییرات را در اعتبار ایجاد می کند توسط مدیر سایت انجام می شود.
راه حل غیر از جاوا اسکریپت نیست.؟
چطور می توان فهمید که پس از submit تغییرات در بانک انجام شده است؟
چند ثانیه طول می کشد؟

mja1356
شنبه 07 شهریور 1388, 21:30 عصر
سلام
آیا امکان این هست که وقتی یک فرم را submit می کنیم تا مدت زمان معینی مثلا 30 ثانیه submit فرم دیگری را غیر فعال کنیم.
اگر راهی وجود دارد دو نوع client-side و server-side را با یک مثال ذکر کنید
قبلا" خیلی متشکرم

s_salavati2002
شنبه 07 شهریور 1388, 22:46 عصر
این که تواین مدت کاربر ثبت کنه از اعتبار قبلیش استفاده میشه خوب منطقیه،

ولی راستش من هنوزم نفهمیدم سناریوی کامل کارت چیه؟

چی باعث میشه که مدیر اعتبارو زیاد کنه؟

ببین اینی که من می گم درسته :
کاربر یه جوری اعلام واریزیشو به مدیر ثابت می کنه و مدیر هم اعتبارشو زیاد می کنه ، تو می خوای تو این فاصله کاربر خرید نکنه؟
اگر اشتباهه سناریوی کاملتو بگو تا بشه روش فکر کرد.

mja1356
شنبه 07 شهریور 1388, 23:12 عصر
سلام
فرض کنید کاربر 1000 تومان اعتبار دارد و از یک سری خدمات استفاده می کند مثلا خدمت آ را می خرد و 200 تومان از اعتبار او کم می شود حالا طی این خرید برنده یک جایزه 100 تومانی می شود.این جایزه 100 تومانی توسط مدیر سایت و توسط یک فرم به اعتبار کاربر اضافه می شود.حالا اعتبار کاربر 900 تومان است. اما مشکل من این است که اگر کاربر بلافاصله پس از افزودن اعتبار اقدام به خرید جدیدی کند اعتبار سابق او 800 مورد محاسبه قرار می گیرد انگار زمانی هر چند کوناه طول می کشد تا اعتبار جدید کاربر مورد محاسبه قرار گیر.
من می خواهم وقتی که مدیر سایت فرم افزایش اعتبار را submit کرد یک زمان معین فرم دوم غیر فعال باشد تا کاربر نتواند خرید جدیدی بکند و اعتبار جدید او در بانک اطلاعاتی ثبت شود

saeid99
شنبه 07 شهریور 1388, 23:32 عصر
به نظرم اگه امکانش باشه در دیتا بیس کاربران یه فیلد تعریف کن که مقدار منطقی 0 و 1 داشته باشه و تا هنگامی که کاربر جایزه دارد و توسط مدیر اعتبارش افزوده نشده اجازه خرید جدید بهش نده..

nimatramon
یک شنبه 08 شهریور 1388, 13:37 عصر
دوست عزیز به نظر من شما میتونی زمان ثبت form دوم را به صورت timestamp در دیتا بیس ثبت کنی زمانی که کاربر می خواد از فرم خودش استفاده کنه میری و اون مقدار ثبت شده در دیتا بیس را با زمان فعلی چک میکنی و مثلا اگر اختلاف بیش از 1000 بود بهش اجازه دسترسی بدی