تماس با ما

موبایل: 2565 038 0912

دفتر تهران: 2565 2842 021

دفتر گرگان: 2565 3233 017


راهکار های کار با فرم ها در PHP-قسمت چهل و سوم

بخش چهارم : بررسی نحوه اعتبار سنجی مقادیر ورودی در فیلدهای متنی PHP
مقدمه :
در راهکارهای قبل ، نحوه کلی اعتبار سنجی و کنترل وارد نمودن مقادیر در فیلدهای یک فرم را بررسی کردیم .
در این بخش به صورت جزیی تر و موردی به نحوه اعتبار سنجی مقادیر وارد شده برای فیلم های Name , Email و URL خواهیم پرداخت .
نحوه اعتبار سنجی کادر Name :
فرض کنید که در یک کادر متن ، می خواهیم کاربر فقط بتواند حروف و یا فاصله خالی وارد کرده و وارد نمودن اعداد و سایر کاراکترها مجاز نباشد .
کد زیر یک راه ساده برای کنترل این مسئله را در اختیارمان قرار می دهد . در ابتدا مقدار ارسال شده از فرم توسط متغیر ["POST["name_$ دریافت شده و در متغیر name$ ریخته می شود .
سپس توسط تابع ( ) Preg_match ، الگوی تعیین شده در تابع مقدار کنترل را سنجیده و چنانچه فقط شامل حروف و یا فاصله خالی باشد ، مقدار true را بر می گرداند . در غیر اینصورت مقدار آن false است .
با false بودن مقدار تابع ( ) Preg_match ، دستور شرطی if کد اجرا شده و یک پیام خطا ، مبنی بر غیر مجاز بودن استفاده از سایر کاراکترها را برای نمایش ثانویه در متغیر

nameErr$ دخیره می کند . به کد زیر دفت نمایید :
$name = test_input($_POST["name"]);
if (!preg_match("/^[a-zA-Z ]*$/",$name))
   {
       $nameErr = "فقط حروف و فاصله خالی مچاز است ";
   }


 نکته مهم : تابع ( ) Preg_match ، تابعی است که یک مقدار وارد شده را با الگو یا معیار تعیین شده برای آن مقایسه کرده و مقدار true یا false را بر می گرداند .
نحوه اعتبار سنجی فیلد ایمیل Email :
فرض کنید در یک کادر متن ، کاربر بایستی ایمیل خود را وارد کند . به وسیله کد زیر می توانید تشخیص دهید آیا مقداری که کاربر در کادر ایمیل وارد کرده ، دارای ساختار صحیح یک ایمیل است یا خیر . در غیر اینصورت پیام اخطاری را به وی نشان دهید .

$email = test_input($_POST["email"]);
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email))
   {
      $emailErr = "آدرس ایمیل نا معتبر است";
   } 


 نحوه اعتبار سنجی مقدار ورودی در کادر URL :
در مثال زیر نیز کدی را طراحی کرده ایم که همانند مثال های قبل ، از طریق تابع ( ) Preg_match ، مقدار وارد شده در کادر website را بررسی کرده و چنانچه مطابق الگوی صحیح یک آدرس اینترنتی باشد ، آن را قبول کرده و در غیر اینصورت یک پیام خطا را جهت نمایش ثانویه به کاربر در متغیر $websiteErr ذخیره کند .

$website = test_input($_POST["website"]);
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website))
{
   $websiteErr = "آدرس اینترنتی نا معتبر است";
} 


 نمایش کامل مثال و مشاهده خروجی صفحه :
پس از اینکه به صورت تک به تک با نحوه اعتبار سنجی فیلدهای فرم آشنا شدید ، حال کد کامل مثال را نشان داده و می توانید خروجی آن را در عمل مشاهده نمایید :


<?php
    // تعیین متغیرهای لازم و قرار دادن آنها بر روی مقدار اولیه خالی
    $nameErr = $emailErr = $genderErr = $websiteErr = "";
    $name = $email = $gender = $comment = $website = "";
 
    if ($_SERVER["REQUEST_METHOD"] == "POST")
      {
          if (empty($_POST["name"]))
            {$nameErr = "وارد نمودن نام اجباری است";}
          else
               {
                  $name = test_input($_POST["name"]);
                  // چک کردن اینکه آیا نام وارد شده فقط شامل حروف و فاصله خالی است
                  if (!preg_match("/^[a-zA-Z ]*$/",$name))
                    {
                       $nameErr = " فقط حروق و فاصله خالی مجاز است ";
                    }
               }
 
    if (empty($_POST["email"]))
        {$emailErr = "وارد نمودن ایمیل اجباری است";}
    else
        {
           $email = test_input($_POST["email"]);
           // چک کردن اینکه آیا ایمیل وارد شده معتبر است
           if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email))
            {
               $emailErr = " ایمیل وارد شده نا معتبر است";
             }
          }
 
    if (empty($_POST["website"]))
       {$website = "";}
    else
       {
          $website = test_input($_POST["website"]);
          // چک کردن اینکه آیا آدرس اینترنتی وارد شده دارای ساختار صحیح است
          if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website))
            {
                $websiteErr = "آدرس اینترنتی وارد شده نا معتبر است";
            }
         }
 
    if (empty($_POST["comment"]))
         {$comment = "";}
    else
         {$comment = test_input($_POST["comment"]);}
 
    if (empty($_POST["gender"]))
         {$genderErr = "تعیین جنسیت اجباری است";}
    else
         {$gender = test_input($_POST["gender"]);}
 }
?>

منبع خبر


سفارش طراحی سایت

سفارش طراحی سایت

google
yahoo
alexa
ebook
Baidu.com
Wikipedia
Blogger.com
Windows Live
Amazon.com
eBay
Bing
Ask
استانداری گلستان
f shdj, sefaresh, sefaresh .net, sefaresh.net, sthva, sthva nhj kj, sthva.kj, stthva.kj, xvhpd, آیفون, استفاده, اندروید, اپل, اپلیکیشن, اینترنت, باتری, بازار, خواهد, دستگاه, دوربین, سامسونگ, سفارش, سفارش دات نت, سفارش دات نت sefaresh.net, سفارش.نت, سیستم, طراح وب, طراحي وب سايت, طراحی, طراحی وب سایت, فناوری, مایکروسافت, موبایل, هوشمند, کاربران, کمپانی, گلکسی, گوشی, گوشی هوشمند, گوگل

نمایش تمامی تگ ها
بسته ویژه مدارس مدارس
بسته ویژه پزشکان پزشکان
بسته ویژه مهندسین مهندسین