PDA

View Full Version : چگونگی خواندن پارامترهای گرفته شده از صفحه قبلی و چاپ آنها در صفحه جاری



kavoshgar63
دوشنبه 12 اسفند 1387, 14:01 عصر
سلام
من برای نمایش خطاها در هنگام ثبت نام کاربر جدید یکسری پارامتر رو به صفحه ابتدایی که کاربر اونجا فرم رو پر کرده می فرستم و می خوام به کاربر بگم که مثلا کد ملی فقط باید عدد باشه و کراکتر - غیر قابل قبوله .
حالا من تونستم با کمک دوستان تا اینجای کار رو پیش برم و موقعی که خطایی رخ می ده به برنامه گزارش بدم.
این نوار آدرس منه:

http://127.0.0.1/temp/register.php?errshsh=errshsh%3Derrshsh&errni=errni%3Derrni&errtel=errtel%3Derrtel&errmobile=&errcitycode=errcitycode%3Derrcitycode&errpc=errpc%3Derrpc&errfill=errfill%3Derrfill&errpass=&errexistuser=errexistuer




چطور میشه این کدها رو تفکیک کرد و خطاها رو نمایش داد؟

hamid67fathi
دوشنبه 12 اسفند 1387, 15:10 عصر
سلام
اگر اين کار رو با جاوا اسکريپت انجام بديد خيلی بهتر هستش .
در اين صورت ميتونيد validation ورودی ها رو در صفحه جاری چک کنيد.
اما اگر بخواهيد با php اين کار رو انجام بديد بهتر هستش که Error ها رو معادل سازی کنيد
به عدد و اين عدد رو به صورت يک رشته ارسال کنيد و بعد از ارسال تجزيه کنيد.




$error = "";
if($_post['name'] == "")
{
$error .="1,";
}
if($_post['family'] == "")
{
$error .="2,";
}


برای تجزيه رشته ارسال شده به صورت زير عمل کنيد :



$error_array = array();
$error = $_POST['error'];
$error_array = explode(",",$error);


در آخر شما يک آرايه داريد که کده تمامی خطا های ارسال شده را در خودش ذخيره کرده
حالا ميتونيد و دستور each کد خطا ها رو مقايسه کرده و پيام مناسب رو چاپ کنيد.

kavoshgar63
سه شنبه 13 اسفند 1387, 22:07 عصر
من مشکلم رو از یک طریق دیگه حل کردم ولی یک مساله جدید برام اتفاق افتاده اونم این که وقتی صفحه برمیگرده و دوباره به صفحه رجیستر میاد که خطا ها رو نمایش بده تمامی فیلدها پاک میشن یا به عبارتی ریست می شن این مشکل از کجا سر چشمه میگیره و چطور باید حل بشه؟
چون صفحه من دارای 25 فیلد مشخصاته دوباره نوشتن اطلاعات خیلی کلافه کننده است .:افسرده:
اینم کد فرستادن پارامتر خطا به برنامه:

$params = array
(
errshsh=>$errshsh,
errni => $errni,
errtel=>$errtel,
errmobile =>$errmobile,
errcitycode=>$errcitycode,
errpc=>$errpc,
errfill=>$errfill,
errpass=>$errpass,
errexistuser=>$errexistuser
);
$url = '../register.php?'.http_build_query($params);
echo ('<meta http-equiv="refresh" content="0;url=' . $url . '">');
@header("location: $url");
@exit('');
}