دراین آموزش قصدداریم ساخت فرم ها را در php برسی کنیم و ببینیم که چگونه مقادیر اعتبارسنجی فرم ها روی آنها اعمال می شود.
به نظر سخت می آید اما در واقعا بسیار راحت است.پس تا پایان این آموزش همراه ما باشید..
به قطعه کدهای زیر دقت کنید:
<?php $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 (!preg_match("/^[a-zA-Z-' ]*$/",$name)) { $nameErr = "Only letters and white space allowed"; } }
دراین قسمت حلقه شرطی تعریف میکنیم که ابتدا شرط خالی نبودن فیلد را برسی کنیم و بعداز آن بررسی میکنیم که آیا نام فقط شامل حروف و فضای خالی است.
if (empty($_POST["email"])) { $emailErr = "Email is required"; } else { $email = test_input($_POST["email"]); if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $emailErr = "Invalid email format"; } }
فیلد بعدی که به برسی آن میپردازیم فیلد ایمیل است.بعداز برسی شرط خالی نبودن فیلدبررسی میکنیم که آیا آدرس ایمیل به خوبی شکل گرفته است یا خیر.
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 = "Invalid URL"; } }
دراینجا هم بررسی میکنیم که آیا نحوه ی آدرس URL معتبر است (این عبارت همچنین به خط تیره در URL اجازه می دهد).
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"]); } }
در قطعه کد بالا هم دکمه های رادیویی آورده شده که شرط جنسیت کاربر برسی میشود.
function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; }
دراین بخش هم که تابعی تعریف شده و توابع اعتبارسنجی فرم ها درآن گنجانده شده..که از این تابع در اعتبار سنجی فرم استفاده میشود.
<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 <input type="radio" name="gender" <?php if (isset($gender) && $gender=="other") echo "checked";?> value="other">Other <span class="error">* <?php echo $genderErr;?></span> <br><br> <input type="submit" name="submit" value="Submit"> </form>
در این بخش طریقه ساخت یک فرم کامل و جامع آورده شده است.
بدون دیدگاه