با عرض سلام و وقت به خیر خدمت کاربران سایت پی وی لرن و کاربرانی که دوره ی آموزش php 7 را دنبال می کنند.
در جلسه گذشته و در آموزش فیلدهای الزامی آموختیم که برخی فیلدها کاربردی ضروری در php دارند و در ادامه نیز بیشتر با مبحث فیلدهای الزامی آشنا شدیم. در این جلسه نیز آموزش اعتبار ایمیل ها و URL ها در فرم های php 7 را به علاقمندان این دوره ارائه می نماییم.
در آموزش اعتبار ایمیل ها و URL ها در فرم های php 7 سعی می نماییم که روش تعیین اعتبار و صحیح بودن نام، ایمیل، نام وبسایت وارد شده در فرم را بررسی نماییم.
کد زیرا راهی ساده برای چک کردن فیلد نام است.
فیلد نام بایستی تنها حاوی حروف و فاصله باشد (نباید کاراکتر ویژه یا رقم در فیلد نام وارد شده باشد.)
کد زیر این مسئله را بررسی کرده و اگر مقدار وارد شده در فیلد معتبر نباشد، پیام خطای ذخیره شده در فرم را نمایش می دهد:
1 2 3 4 | $name = test_input($_POST["name"]); if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $nameErr = "Only letters and white space allowed"; } |
تابع () preg_match رشته وارد شده در فیلد را از نظر الگو جستجو کرده، اگر الگوی مورد نظر وجود داشته باشد، true و در غیر این صورت false بر می گرداند.
ساده ترین و امن ترین راه چک کردن صحیح بودن آدرس ایمیل وارد شده در فیلد ایمیل استفاده از تابع () filter_var زبان PHP است.
در کد زیر، اگر آدرس ایمیل درست وارد نشده باشد، پیغام خطایی نمایش داده می شود :
1 2 3 4 | $email = test_input($_POST["email"]); if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $emailErr = "Invalid email format"; } |
کد زیر نشان می دهد که چگونه آدرس URL وارد شده در فیلد را بررسی کرد
همچنین صحیح بودن آن را از لحاظ اعتبار سنجید.
(این عبارت معمولی امکان استفاده از زیر خط در آدرس را می دهد).
اگر عبارت آدرس URL صحیح ارزیابی نشود، پیام خطایی نمایش داده می شود.
1 2 3 4 | $website = test_input($_POST["website"]); if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) { $websiteErr = "Invalid 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 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | <?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"]); // check if name only contains letters and whitespace 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"]); // check if e-mail address is well-formed if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $emailErr = "Invalid email format"; } } if (empty($_POST["website"])) { $website = ""; } else { $website = test_input($_POST["website"]); // check if URL address syntax is valid (this regular expression also allows dashes in the URL) if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) { $websiteErr = "Invalid 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"]); } } ?> |
در ادامه می آموزیم که چگونه می توان از خالی شدن فیلدهای فرم پس از زدن دکمه سابمیت توسط کاربر جلوگیری کرد.
در این جلسه به آموزش اعتبار ایمیل ها و URL ها در فرم های php 7 پرداختیم.
در جلسه بعد می آموزیم که چگونه یک فرم کامل در php بنویسیم.
با پی وی لرن همراه باشید.