با عرض سلام و وقت به خیر خدمت کاربران سایت پی وی لرن و کاربرانی که دوره ی آموزش php 7 را دنبال می کنند.
در جلسه گذشته به آموزش اعتبار فرم ها پرداختیم و با مطالبی چون متغیر [SERVER[“PHP_SELF_$، امنیت فرم ها در php آشنا شدیم و نیز آموختیم که چگونه می توان از سوء استفاده از [“SERVER[“PHP_SELF_$ جلوگیری کرد.
در این جلسه و در ادامه این دوره آموزش فیلدهای الزامی در php 7 را به علاقمندان این دوره ارائه می نماییم.
فیلد | قاعده اعتباربخشی |
---|---|
نام | الزامی + فقط حاوی حروف و فاصله باشد |
ایمیل | الزامی + بایستی آدرس ایمیل معتبر حاوی @ و . باشد |
وبسایت | اختیاری، اگر تکمیل شد، حاوی یک URL صحیح باشد |
نظر | اختیاری، فیلد متنی چند خطی (محدوده متنی) |
جنس | الرامی. بایستی یکی از دو مورد انتخاب شود. |
در این جدول ما سه فیلد الزامی داریم.
در کد زیر (ادامه کد مقاله قبلی) ما سه متغیر جدید اضافه کرده ایم: nameErr, $emailErr, $genderErr, $websiteErr$.
این ها متغیر خطا هستند که پیام خطای فرم های الزامی را نگه میدارند.
همچنین یک دستور if else برای هر یک از متغیرهای POST_$ ایجاد کردیم.
این دستور چک می کند که آیا متغیرهای POST_$ خالی است یا خیر (با استفاده از تابع () empty برنامه PHP).
اگر متغیر خالی باشد، پیام خطای ذخیره شده در متغیر خطای متناظر آن نمایش داده می شود و اگر خالی نباشد، داده های وارد شده توسط کاربر توسط تابع () test_input ارسال می شوند :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <?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"]); } } ?> |
در اینجا طریقه نمایش پیام خطا در فرم بررسی می شود.
در کد HTML فرم ما مقداری اسکریپت پس از هر فیلد الزامی اضافه شد که پیام های خطا را در صورت نیاز ایجاد می کنند (اگر کاربر سعی کرد فرم را بدون پر کردن تمامی فیلدهای الزامی سابمیت کند):
گام بعدی تعیین اعتبار داده های وارد شده است.
مثلا آیا فیلد نام تنها حاوی حروف و فاصله باشد و مثلا رقم در آن نباشد یا خیر.
همچنین آیا فیلد ایمیل توسط یک آدرس ایمیل معتبر پر شده است یا خیر؟
در نهایت همچنین آیا فیلد نام وبسایت حاوی یک URL معتبر است یا URL آن غیر معتبر است.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> Name: <input type="text" name="name"> <span class="error">* <?php echo $nameErr;?></span> <br><br> E-mail: <input type="text" name="email"> <span class="error">* <?php echo $emailErr;?></span> <br><br> Website: <input type="text" name="website"> <span class="error"><?php echo $websiteErr;?></span> <br><br> Comment: <textarea name="comment" rows="5" cols="40"></textarea> <br><br> Gender: <input type="radio" name="gender" value="female">Female <input type="radio" name="gender" value="male">Male <input type="radio" name="gender" value="other">Other <span class="error">* <?php echo $genderErr;?></span> <br><br> <input type="submit" name="submit" value="Submit"> </form> |
گام بعدی تعیین اعتبار داده های وارد شده است.
مثلا آیا فیلد نام تنها حاوی حروف و فاصله باشد و مثلا رقم در آن نباشد یا خیر.
همچنین آیا فیلد ایمیل توسط یک آدرس ایمیل معتبر پر شده است یا خیر؟
در نهایت همچنین آیا فیلد نام وبسایت حاوی یک URL معتبر است یا URL آن غیر معتبر است.
در این جلسه با آموزش فیلدهای الزامی فرم در php 7 همراه شما بودیم.
در جلسه بعدی به آموزش اعتبار ایمیل ها و URL ها در فرم های php 7 می پردازیم.
با پی وی لرن همراه باشید.