PDA

View Full Version : سوال: نمایش "please wait" مادام ریدایرکت به درگاه بانک



iman-vb
دوشنبه 21 مرداد 1392, 02:21 صبح
سلام و خسته نباشید
بنده یک فرم پرداخت به زبان PHP دارم که کاربر پس از وارد کردن مبلغ و ایمیل submit میکنه و به درگاه بانکی هدایت میشه. چون بعضی مواقع طول میکشه کاربر فکر میکنه کلیک نکرده و هی پشت سر هم کلیک میکنه. میخوام با اولین کلیک یه ماسک بیاد روی صفحه و یه پنجره باز بشه و بگه "لطفا منتظر بمانید" تا وقتی که متصل بشه به بانک
این صفحه پرداخت هستش:
صفحه پرداخت حمایت از سایت (http://www.myud.ir/files/test.php)
اینم کد انتهایی submit کردن فرم هستش:


<div class="submit"><input type="submit" name="submit" value="ارسال به درگاه بانکی"></div>
چنانچه به کد کامل صفحه هم نیاز بود بفرمایید تا ارسال کنم
ممنون میشم دوستی کمک کنه.

titreaval
دوشنبه 21 مرداد 1392, 06:47 صبح
سلام و خسته نباشید
بنده یک فرم پرداخت به زبان PHP دارم که کاربر پس از وارد کردن مبلغ و ایمیل submit میکنه و به درگاه بانکی هدایت میشه. چون بعضی مواقع طول میکشه کاربر فکر میکنه کلیک نکرده و هی پشت سر هم کلیک میکنه. میخوام با اولین کلیک یه ماسک بیاد روی صفحه و یه پنجره باز بشه و بگه "لطفا منتظر بمانید" تا وقتی که متصل بشه به بانک
این صفحه پرداخت هستش:
صفحه پرداخت حمایت از سایت (http://www.myud.ir/files/test.php)
اینم کد انتهایی submit کردن فرم هستش:


<div class="submit"><input type="submit" name="submit" value="ارسال به درگاه بانکی"></div>
چنانچه به کد کامل صفحه هم نیاز بود بفرمایید تا ارسال کنم
ممنون میشم دوستی کمک کنه.


دوست عزیز من کد شما را برای تست امتحان کردم
اما متاسفانه سیستم اجرای درست نداشت
با توجه به اینکه باید curl هم در php.ini فعال میکردم ... .

اما کدی که نوشتم به این شکل هست



<?php

if(!empty($errors))

{
echo ' <script type="text/javascript">
alert("'.$errors.'");
</script>
';
}
//از اینجا من نوشتم
else
{

echo ' <script type="text/javascript">
alert("لطفا صبر کنید ...");
</script>
';

}



بعد بخش پایین کد فوق را به آن اضافه کنید


اگر اجرا با موفقیت بود از تکنیک لایت باکس استفاده کنید ... .
و اگر نتوانستید دوباره در همین تاپیک ...

اون کاری نداره

iman-vb
دوشنبه 21 مرداد 1392, 13:34 عصر
ممنونم. من کد رو اضافه کردم ولی همون اول میاد :دی
میتونید ملاحظه کنید:
http://www.myud.ir/files/test.php



<?php
if(!empty($errors))

{
echo ' <script type="text/javascript">
alert("'.$errors.'");
</script>
';
}
else
{

echo ' <script type="text/javascript">
alert("لطفا صبر کنید ...");
</script>
';

}

?>

titreaval
دوشنبه 21 مرداد 1392, 13:40 عصر
دی :
خب شرط بزارید بجای else


elseif (!$_POST['udid']=='' and !$_POST['email']=='' and empty($errorsr))


بعد من گفتم فایل شما را درست نتوانستم اجرا کنم با این حال گفتم :)

iman-vb
دوشنبه 21 مرداد 1392, 14:13 عصر
انجام دادم الان هیچ اتفاقی نمیوفته!
http://www.myud.ir/files/test.php




<?php
if(!empty($errors))
{
echo ' <script type="text/javascript"> alert("'.$errors.'"); '; }

elseif (!$_POST['udid']=='' and !$_POST['email']=='' and empty($errorsr))

?>

titreaval
دوشنبه 21 مرداد 1392, 14:30 عصر
گفتم بجای else


if(!empty($errors))
{ echo ' <script type="text/javascript"> alert("'.$errors.'"); </script> '; }

elseif (!$_POST['udid']=='' and !$_POST['email']=='' and empty($errorsr))
{ echo ' <script type="text/javascript"> alert("لطفا صبر کنید ..."); </script> ';
}



بعد فایل تست شما کجایش مثل http://www.myud.ir/udid.php عمل میکند !!!

من اینو زمانی نوشتم که
بگه
اگر همه فیلد ها بدون مشکلی انجام شد بیا لطفا صبر کنید را اعلان کن
و بعد صفحه خودکار به صفحه ی پرداخت میره
اما اگه شما تو این صفحه بزنید
بدون خطا با حتی یک کارکتر صفحه اعلان پیام انتظار و انتقال به صفحه ی دیگر میرود

iman-vb
دوشنبه 21 مرداد 1392, 14:48 عصر
بلی قربان متوجه هستم این موضوع رو ولی شما هر تغییری که امر میکنید رو بنده توی udid.php هم قرار میدم. الان همین کد توی udid.php هم هست ولی اثری نداره



<?php
if(!empty($errors))

{
echo ' <script type="text/javascript">
alert("'.$errors.'");
</script>
';
}
elseif (!$_POST['udid']=='' and !$_POST['email']=='' and empty($errorsr))
{

echo ' <script type="text/javascript">
alert("لطفا صبر کنید ...");
</script>
';

}

?>



راستی اینم عرض کنم این ارور ها چک نمیشه چون اگه آخر فایلی که واستون فرستادم رو نگاه کنید این خطاها از طریق جاوا اسکریپت چک میشه. احتمالا واسه همین هست که عمل نمیکنه
منظورم اینجا هست:


frmvalidator.addValidation("udid","req","لطفا شماره UDID دستگاه خود را وارد کنید");
frmvalidator.addValidation("udid","minlen=40","خطا: شماره UDID یک سریال ۴۰ کاراکتری میباشد");
frmvalidator.addValidation("udid","alnum","خطا: شماره UDID فقط شامل عدد و حرف می باشد");
frmvalidator.addValidation("email","req","لطفا ایمیل خود را وارد کنید");
frmvalidator.addValidation("email","email","لطفا ایمیل معتبر وارد کنید");

iman-vb
چهارشنبه 23 مرداد 1392, 22:30 عصر
دوستان کسی نظری نداره؟

titreaval
چهارشنبه 23 مرداد 1392, 22:36 عصر
شما هستید
مگه حل نشد :متعجب:

iman-vb
چهارشنبه 23 مرداد 1392, 22:40 عصر
شما هستید
مگه حل نشد :متعجب:
نه دیگه. پست آخری که عرض کردم داستان چیه؟ اگه صلاح میدونید مشخصات FTP رو بفرستم چکش کنید چون یکم قر و قاطی کدنویسی شده.

titreaval
چهارشنبه 23 مرداد 1392, 22:44 عصر
نه اتفاقا خیلی ساده و شیوا نوشته شده
مشخصات ftp ////چنین کاری نه برای من برای هیچ شخصی نکنید
همون تست رو بزارید دوستان انجمن که در زمینه ی جاوا اسکریپت قوی تر هستند انشاالله کمک میکنند
اما مشخصات ftp اصلا برای داداشتون هم نشون ندید :لبخند:
حالا کمی با طنز عرض کردم

موفق باشید

iman-vb
چهارشنبه 23 مرداد 1392, 22:53 عصر
خب باور کنید نشد. کار نمیده!

webtracker
چهارشنبه 23 مرداد 1392, 23:04 عصر
یک راه حل ساده استفاده از ajax . ولی باید قبلش jquery رو لود کنید در این کد image مربوط به تگی که به صورت شامل شکل یا متن انتظار postion:abslout و display:hidden و z-index:100 در ابتدا و پدر (که اینجا با کلاس info)این شامل فرم شما و تک پیام انتظار می باشه
$('form').submit(function(e){
e.preventDefult();

$.ajax({
url: $(this).attr('action'),
cache: false,
beforeSend: function(){
$('#image').show();
},
complete: function(){
$('#image').hide();
},
success: function(html){
$('.info').empty().append(html);
}
});
});
اگه از jquery استفاده نمی کنید باید دنبال ajax با js بگردید

iman-vb
چهارشنبه 23 مرداد 1392, 23:10 عصر
متاسفانه من اینقدر حرفه نیستم!