اعتبار سنجی در PHP
پنجشنبه, ۲۳ دی ۱۳۸۹، ۰۴:۳۰ ب.ظ
در این مثال ما قصد نداریم بگیم که این اعتبار سنجی دیگه آخرشه،بلکه این یه مثال برای سطوح مقدماتی و متوسط میباشد که چگونگی کار با فرم ها و آرایه های فرمی در پی اچ پی را آموزش میدهد.هر چند بسیاری از تکنیک های پیشرفته و خاص پی اچ پی وجود دارد که میتوانیم آنها را در این اسکریپت استفاده کنیم با این حال هدف این مقاله این نیست.
اولین چیز ساخت یک فرم با تگ های اچ تی ام ال و متغیرهای پی اچ پی میباشد.این صفحه فرم و تمامی خطاهایی که ممکن است در پر کردن یک فرم رخ دهد را نشان میدهد.
Name:*
Email:*
URL:*
Company:
پردازش فرم
دومین فایلی که کدهای اصلی پی اچ پی ما توش قرار میگیره رو به نام
// اگه خطایی وجود داشت به صفحه فرم برو و خطاها را نشان بده
include 'index.php';
}
else
{
// در این مرحله شما میتونید یک ایمیل یا هر چیزی که میخواهید رو به کاربر ارسال کنید
//اگه اطلاعات صحیح بود به صفحه دل خواهتان هدایت کنید
header("Location: thanks.html");
} در اینجا شما نیاز به یک صفحه تشکر دارید که بعد اینکه اطلاعات صحیح بود به اون صفحه منتقل بشه،در زیر یک نمونه اچ تی ام الی برای این کار آماده کردیم.کد زیر را در فایلی به نام thanks.html قرار بدید.
اولین چیز ساخت یک فرم با تگ های اچ تی ام ال و متغیرهای پی اچ پی میباشد.این صفحه فرم و تمامی خطاهایی که ممکن است در پر کردن یک فرم رخ دهد را نشان میدهد.
//این صفحه رو با اسم ایندکس.پی اچ پی سیو کنید
// index.php
?>
PHP Form Processing Example
Name:*
Email:*
URL:*
Company:
پردازش فرم
دومین فایلی که کدهای اصلی پی اچ پی ما توش قرار میگیره رو به نام
process.php میسازیم.کامنت های هایی که بین کدها وجود داره به شما کمک خوبی خواهد کرد که از کار کد به صورت بهتر و مفیدتر
آشنا بشید.
در زیر کدی های که برای فایل پراسس نیاز داریم قرار داده شده است.
// process.php
/*
* در اینجا اسم فیلدهایی که در فرم وجود داشتن مشخصی میشود
* این بدان معنی است که کسی هر چی میخواد نمی تونه سند کنه
*/
$allowedFields = array(
'Name',
'Email',
'URL',
'Company',
);
/*
مشخص کردن فیلدهایی که مورد نیاز هستن و باید پر بشن
میتونید بنا بر نیازتون این فیلدها را کم یا زیاد کنید
*/
$requiredFields = array(
'Name',
'Email',
'URL',
);
/*
در اینجا مقدارهایی که از طریق
$_POST
ارسال میشه رو در یه حلقه فور ایچ برا استفاده قرار میدیم
*/
$errors = array();
foreach($_POST AS $key => $value)
{
// اولین گام این است که مطمئن شوید که مقدار ارسالی یک فیلد مجاز بوده یا نه
if(in_array($key, $allowedFields))
{
$$key = $value;
//آیا یک فیلد الزامی و مورد نیسلز هست یا نه؟
if(in_array($key, $requiredFields) && $value == '')
{
$errors[] = "The field $key is required.";
}
}
}
// آیا اصلا هیچ خطایی رخ داده است
if(count($errors) > 0)
{
$errorString = 'There was an error processing the form.
';
$errorString .= '
- ';
- $error ";
foreach($errors as $error)
{
$errorString .= "
}
$errorString .= '
// اگه خطایی وجود داشت به صفحه فرم برو و خطاها را نشان بده
include 'index.php';
}
else
{
// در این مرحله شما میتونید یک ایمیل یا هر چیزی که میخواهید رو به کاربر ارسال کنید
//اگه اطلاعات صحیح بود به صفحه دل خواهتان هدایت کنید
header("Location: thanks.html");
} در اینجا شما نیاز به یک صفحه تشکر دارید که بعد اینکه اطلاعات صحیح بود به اون صفحه منتقل بشه،در زیر یک نمونه اچ تی ام الی برای این کار آماده کردیم.کد زیر را در فایلی به نام thanks.html قرار بدید.
br /> "http://www.w3.org/TR/html4/strict.dtd">این سه فایل را در یک پوشه از لوکال هاست خود سیو کنید و بعد تست کنید.
Thanks!Thank you for sending the form!
موفق باشید
۸۹/۱۰/۲۳
ساده و کاربردی