PDA

View Full Version : نمایش اخطار هنگام متفاوت بودن کلمه عبور



Elias.F
پنج شنبه 11 اسفند 1390, 23:29 عصر
سلام .
چندتا سوال داشتم که ممنون میشم اگه راهنماییم کنین.
من یه صفحه عضویت نوشتم که داخلش هنگام ثبت نام کاربر 2بار کلمه عبور رو میخواد که تایپ کنه.
و کد زیر رو قرار دادم که اگه کلمات عبور مثل هم نبود،دوباره به فرم ثبت نام برگرده.



if($tfpass!=$tfpass2)
{
print("<script language='javascript'>window.location = 'signup.php' </script>");

}

حالا میخوام هنگامی که کاربر به صفحه قبل برگشت داده میشه یه پیغام خطا هم کنار کادر کلمه عبور ظاهر بشه.به عنوان مثال بگه 2 کلمه عبور باید یکسان باشد!
با چه کدی میتونم این کار رو انجام بدم؟
متشکرم.

MostafaEs3
جمعه 12 اسفند 1390, 00:12 صبح
خب چه کاریه !؟ از جاوا اسکریپت استفاده کن بطور مثال :



function pass(){
var pass1= getElementById('pass1');
var pass2=getElementById('pass2');

if(pass1==pass2){
document.example_form.submit();
}
}
<form name="example_form">
<input type="text" id="pass1" />
<input type="text" id="pass2" />
<input type="button" value="submit" onclick="Javascript:pass();" />
</form>

alishmas
جمعه 12 اسفند 1390, 00:27 صبح
شما می توانید قبل از آنکه فرم را ارسال کنید با جاوا اسکریپت به صورت زیر چک کنید و پیغام مناسب را نمایش دهید:

alert("Passwords are not identical);[/LTR_INLINE]
{



اگر خواستی با روش خودت عمل کنی کافیه به آدرسی که redirect میکنی یه متغیر GET اضافه کنی و در برنامه با توجه به محتوای متغیر پیغام مناسب را نمایش بدی:

print("<script language='javascript'>window.location = 'signup.php?pass= not_identical' </script>");


//signup.php
if(isset($_GET['pass'] and $_GET['pass']=='not_identical' )
echo 'Passwords are not identical';


امیدوارم تونسته باشم کمکی کنم.:خجالت:

با آرزوی موفقیت

MostafaEs3
جمعه 12 اسفند 1390, 00:32 صبح
خب چه کاریه ! یک session تعریف میکنیم و توش یک مقدار رو قرار میدیم ... بعد میگیم اگه این مقدار داشت یک پیام خطا بیاد و اون سشن ، unset میکنیم :لبخند:

مستر علی شما توی کدتون فرم رو submit نکردید بخاطر همین اگه اون دکمه ی submit زده بشه ممکنه فرم بدون هماهنگی با جاوااسکریپت تائید بشه ! :لبخند: البته این روش من یک بدی داره اونم اینکه وقتی روی فیلد کلمه ی عبور enter زده بشه فرم سابمیت نمیشه و برای اینکار باید یک کد جاوا اسکریپت دیگه قرار بدیم و توش تعریف کنیم اینو

alishmas
جمعه 12 اسفند 1390, 00:54 صبح
جنابMostafaEs3 شما کاملا درست می گید من فقط می خواستم کلیاتو بگم ،برای اون مشکلی هم که گفتید فکر کنم اگه در رویداد onsubmit فرم تابع را صدا کنیم مشکلمون حل بشه.


<form action=yourpage.php id="Myform" method="post" onsubmit="return check_Password_Status();">
با آرزوی موفقیت

MostafaEs3
جمعه 12 اسفند 1390, 01:31 صبح
نه بازهم نمیشه !! بدبختی همینه دیگه !! من پدرم سر این قضیه دراومده !

Elias.F
جمعه 12 اسفند 1390, 09:30 صبح
خیلی ممنونم و چیزای خوبی یاد گرفتم.:لبخندساده:
آخه مشکل اینه که من جاوا اسکریپت اصلا یاد ندارم.:افسرده:
واسه همین دارم اینا رو با php درست میکنم!کد های جاوا اسکریپت رو هم فقط کپی پیست میکنم:خجالت:
موفق باشید.

MostafaEs3
جمعه 12 اسفند 1390, 09:52 صبح
اتفاقا منم اول فکر میکردم جاوا اسکریپت سخته ولی بعد فهمیدم اصلا سخت نیست و از پی اچ پی گاهی میتونه راحتتر باشه

Elias.F
دوشنبه 15 اسفند 1390, 12:01 عصر
اگر خواستی با روش خودت عمل کنی کافیه به آدرسی که redirect میکنی یه متغیر GET اضافه کنی و در برنامه با توجه به محتوای متغیر پیغام مناسب را نمایش بدی:
print("<script language='javascript'>window.location = 'signup.php?pass= not_identical' </script>");
1
2
3
4
//signup.php
<span dir="ltr">if(isset($_GET['pass'] and $_GET['pass']=='not_identical' )</span>
<span dir="ltr">echo 'Passwords are not identical';</span>




امیدوارم تونسته باشم کمکی کنم.:خجالت:



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