سبد (0)

آموزش پروژه محور PHP

  • آموزش پروژه محور PHP

    یکی از قابلیت های مهم این پروژه، رزرو هتل و همچنین ثبت نام کاربران است، علاوه بر این با ورود به قسمت مدیریت می توانید اطلاعات ثبت شده را مشاهده، ویرایش و یا حذف نمایید.

    READ MORE
  • در این آموزش، نحوه ی ساخت فیلدهای الزامی (required) و نمایش پیغام خطای مناسب نشان داده خواهد شد.


    فیلدهای الزامی در PHP

    Wiki

    در آموزش قبلی، تمام فیلدهای ورودی اختیاری بودند. اما همانطور که در جدول اعتبار سنجی زیر مشخص شده است، فیلدهای "نام"، "ایمیل" و "جنسیت" الزامی اند. این فیلدها نمی توانند خالی باشند و باید حتماً با یک مقدار تنظیم شوند.

    قوانین اعتبارسنجی:

    فیلد قوانین اعتبارسنجی
    نام الزامی است. فقط باید شامل حروف الفبا و خط فاصله باشد.
    ایمیل الزامی است. باید شامل فرمت صحیح ایمیل باشد (همراه با علامت @ و .)
    وب سایت اختیاری است. اگر پر شد، باید شامل فرمت صحیح URL باشد.
    توضیحات اختیاری است. می تواند شامل چند خط متن باشد (textarea)
    جنسیت الزامی است. یکی از دو مورد باید انتخاب شود.

    در کد زیر، تعدادی متغیر جدید با نام های nameErr$ و emailErr$ و genderErr$ و websiteErr$ اضافه شده است. این متغیرهای خطا، متن خطای مورد نظر را برای فیلدهای الزامی در خود نگه می دارند. ما همچنین برای هر متغیر POST_$ یک دستور if... else اضافه کرده ایم. این دستور شرطی، چک می کند که اگر متغیر POST_$ خالی است (با استفاده از تابع ()empty) یک متن خطای مناسب در متغیرهای خطا ذخیره می کند، و اگر خالی نبود، مقدار برگشتی تابع ()test_input در متغیر متناظرش ذخیره می شود:

    <?php
    // define variables and set to empty values
    $nameErr = $emailErr = $genderErr = $websiteErr = "";
    $name = $email = $gender = $comment = $website = "";

    if ($_SERVER["REQUEST_METHOD"] == "POST")
    {

      if (empty($_POST["name"]))
        {$nameErr = "Name is required";}
      else
        {$name = test_input($_POST["name"]);}

      if (empty($_POST["email"]))
        {$emailErr = "Email is required";}
      else
        {$email = test_input($_POST["email"]);}

      if (empty($_POST["website"]))
        {$website = "";}
      else
        {$website = test_input($_POST["website"]);}

      if (empty($_POST["comment"]))
        {$comment = "";}
      else
        {$comment = test_input($_POST["comment"]);}

      if (empty($_POST["gender"]))
        {$genderErr = "Gender is required";}
      else
        {$gender = test_input($_POST["gender"]);}
    }
    ?>

    نمایش متن خطا در PHP

    Wiki

    در فرم HTML، باید یک اسکریپت PHP اضافه نمایید. که متن خطای مورد نظر را نمایش می دهد:

    مثال (فیلدهای الزامی در PHP)

    <!DOCTYPE HTML>
    <html>
    <head>
    <style>
      .error {color: #FF0000;}
      span{min-width: 200px;float: right;}
    </style>
    </head>
    <body>

    <?php
    // define variables and set to empty values
    $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 (empty($_POST["email"]))
         {$emailErr = "وارد کردن ایمیل الزامی است";}
       else
         {$email = test_input($_POST["email"]);}
        
       if (empty($_POST["website"]))
         {$website = "";}
       else
         {$website = test_input($_POST["website"]);}

       if (empty($_POST["comment"]))
         {$comment = "";}
       else
         {$comment = test_input($_POST["comment"]);}

       if (empty($_POST["gender"]) || $_GET["gender"]=="undefined")
         {$genderErr = "انتخاب جنسیت الزامی سات";}
       else
         {$gender = test_input($_POST["gender"]);}
      
    }

    function test_input($data)
    {
         $data = trim($data);
         $data = stripslashes($data);
         $data = htmlspecialchars($data);
         return $data;
    }
    ?>

    <h2>مثال اعتبارسنجی فرم ها در PHP</h2>
    <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
    <div>
      <span>نام:</span><input type="text" name="name">
      <span class="error">*</span>
    </div>
    <div>
      <span>ایمیل:</span>
    <input type="text" name="email">
      <span class="error">*</span>
    </div>
    <div>
      <span>وب سایت:</span>
    <input type="text" name="website">
      <span class="error"></span>
    </div>
    <div>
      <span>توضیحات:</span>
    <textarea name="comment" rows="5" cols="40"></textarea>
      <span class="error">*</span>
    </div>
    <div>
    <span>جنسیت:</span>

    <input type="radio" name="gender" value="female">زن
    <input type="radio" name="gender" value="male">مرد
    </div>
    </div><input type="submit" name="submit" value="ارسال اطلاعات"></div>
    </form>

    <?php
    if ($nameErr!="" || $emailErr!="" || $genderErr!="" || $websiteErr!="")
    echo "<span style='color:red' >
             $nameErr <br /> $emailErr <br /> $genderErr <br /> $websiteErr
          </span>";
    else
    {
    echo "<br /><h2>خروجی کدتان</h2>";
    echo "نام :$name";
    echo "<br />";
    echo "ایمیل: $email";
    echo "<br />";
    echo "وب سایت: $website";
    echo "<br />";
    echo "توضیحات: $comment";
    echo "<br />";
    echo "جنسیت: $ender";
    }
    ?>
    </body>
    </html>

    خروجی کد بالا:

    مثال اعتبارسنجی فرم ها در PHP

    نام:*
    ایمیل:*
    وب سایت:
    توضیحات:
    جنسیت: زن مرد*
     

    در آموزش بعدی نحوه اعتبارسنجی فیلدهای "نام"، "ایمیل" و "وب سایت" توضیح داده خواهد شد. (آیا فیلد "نام"، فقط شامل حروف و فاصله خالی است - آیا فیلد "ایمیل"، شامل یک فرمت صحیح است - اگر فیلد "وب سایت" پر شد، آیا شامل یک فرمت صحیح است)


    برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.

    READ MORE
  • تعریف Methodها

    Wiki

    Methodها در واقع توابعی هستند که داخل کلاس وجود دارند و با علامت "<-" صدا زده می شوند، مهمتر اینکه متدها به اعضای متغیرهای یک کلاس دسترسی دارند.

    مثال1: در مثال زیر یک تابع ساده برای چاپ یک عبارت تعریف شده است:

    <?php
    class My_class
    {
      private $name="Amir";
      function SayHello()
      {
       print "Hello My Name is $this->name";
      }
    }

    $obj=new My_Class();
    $obj->SayHello();
    ?>

    خروجی کد بالا:

    Hello My Name is Amir

    توجه: درون خود تابع برای دسترسی به تمامی متغیر ها و توابع دیگر با <-this$ و سپس نام تابع یا متغیر می توانیم عمل کنیم.

    مثال2: در مثال زیر ابتدا اسممان، امیر است و بعد از صدا زدن تابع ()SetName به رضا تغییر می یابد:

    <?php
    class My_class
    {
      private $name="Amir";
      function SetName($Param)
      {
       $this->name=$Param;

      }
      function SayHello()
      {
       print "Hello My Name is $this->name";
      }
    }

    $obj=new My_Class();
    $obj->SetName("Reza");
    $obj->SayHello();
    ?>

    خروجی کد بالا:

    Hello My Name is Reza

    در مثال بالا یک تابع به نام ()SetName تعریف کردیم که یک پارامتر دارد و می توانیم اسم را در همه جا تغییر بدهیم.

    READ MORE
تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه