آموزش PHP   >   راهکارهای موثر در PHP > راهکار های کار با فرم ها در PHP
بخش پنجم : نمایش و نگهداری مقادیر وارد شده در فیلدهای یک فرم PHP

آشنایی با راهکار :

در این بخش از راهکار قصد داریم تا اطلاعاتی که کاربر در فرم وارد می کند را پس از Submit فرم ، به وی نشان داده و در فیلدها نگهداری می کنیم . برای این منظور یک قطعه کد PHP را درون خاصیت Value هر یک از فیلدهای متنی زیر قرار داده ایم : Name , Email و Website .
برای فیلد توصیح یا Comment که از نوع textarea می باشد ، کد لازم را درون تگ باز و بسته <textarea> جاگذاری کرده ایم .

همچنین برای فیلد جنسیت ، ابتدا بایستی کدی طراحی کرده تا مقدار انتخابی کاربر ( مقدار خاصیت Checked دکمه های Radio Button ) را تشخیص دهد . سپس مقدار Value گزینه انتخاب شده را نمایش خواهد داد .
کد مثال به صورت زیر خواهد بود :

کد Name: <input type="text" name="name" value="<?php echo $name;?>">

E-mail: <input type="text" name="email" value="<?php echo $email;?>">

Website: <input type="text" name="website" value="<?php echo $website;?>">

Comment: <textarea name="comment" rows="5" cols="40"><?php echo $comment;?></textarea>


Gender:
   <input type="radio" name="gender"
    
 <?php if (isset($gender) && $gender=="female") echo "checked";?>
       value="female">Female
   <input type="radio" name="gender"
    
 <?php if (isset($gender) && $gender=="male") echo "checked";?>
       value="male">Male

مشاهده کد کامل مثال و خروجی صفحه :

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

کد
 <!DOCTYPE HTML> 
 <html>
  <head>
    <style>
      .error {color: #FF0000;}
    </style>
  </head>
  <body> 

    <?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"]);} }

     function test_input($data)
        {
           // پاکسازی اطلاعات از کاراکترهای نا خواسته
          $data = trim($data);
          $data = stripslashes($data);
          $data = htmlspecialchars($data);
          return $data;
        }
  ?>

 <h2>PHP Form Validation Example</h2> <p><span
     class="error">* required field.</span></p> <form method="post"
     action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> Name: <input
     type="text" name="name" value="<?php echo $name;?>"> <span class="error">*
     <?php echo $nameErr;?></span> <br><br> E-mail: <input
     type="text" name="email" value="<?php echo $email;?>"> <span class="error">*
     <?php echo $emailErr;?></span> <br><br> Website: <input
     type="text" name="website" value="<?php echo $website;?>"> <span class="error"><?php
     echo $websiteErr;?></span> <br><br> Comment: <textarea name="comment"
     rows="5" cols="40"><?php echo $comment;?></textarea> <br><br>
     Gender: <input type="radio" name="gender" <?php if (isset($gender) && $gender=="female")
     echo "checked";?> value="female">Female <input type="radio" name="gender"
     <?php if (isset($gender) && $gender=="male") echo "checked";?> value="male">Male
     <span class="error">* <?php echo $genderErr;?></span> <br><br>
     <input type="submit" name="submit" value="Submit"> </form>

  <?php
       // نمایش اطلاعات وارد شده در خروجی echo "<h2>Your Input:</h2>";
           echo $name; echo "<br>"; echo $email; echo "<br>"; echo $website; echo
           "<br>"; echo $comment; echo "<br>"; echo $gender; ?>

  </body>
</html>
              
خروجی مشاهده خروجی مثال


راجع این مطلب سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...         >>>>>  ورود به انجمن تخصصی


نطر خودتان درباره این صفحه  :

آیا مطالب این صفحه برای شما مناسب و مفید بوده است :

نام :                 
آدرس Email :    
 
نظر شما :        
سوال امنیتی : جمع سه + پنج چنده ؟