آموزش اعتبار سنجی در PHP
آموزش اعتبار سنجی در PHP
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش اعتبار سنجی در PHP خواهیم پرداخت.
قسمت مورد نیاز بررسی می کند که آیا فیلد به روش مناسب پر شده است یا خیر. در بیشتر موارد از نماد * برای قسمت مورد نیاز استفاده خواهیم کرد.
اعتبار سنجی چیست؟
اعتبار سنجی به معنای بررسی ورودی ارسال شده توسط کاربر است. دو نوع اعتبارسنجی در PHP وجود دارد. آنها به شرح زیر هستند –
- اعتبار سنجی سمت کاربر- اعتبار سنجی در مرورگرهای وب دستگاه مشتری انجام می شود.
- اعتبار سنجی سمت سرور – داده ها پس از ارسال توسط داده ها ، به یک سرور ارسال شده و بررسی های اعتبارسنجی را در دستگاه سرور انجام می دهند.
برخی از قوانین اعتبار سنجی برای رشته
فیلد | قانون اعتبار سنجی |
---|---|
Name | حروف و فضاهای سفید لازم می باشد |
@ و. لازم می باشد | |
Website | باید یک URL معتبر داشته باشد |
Radio | باید حداقل یک بار قابل انتخاب باشد |
Check Box | باید حداقل یک بار قابل بررسی باشد |
Drop Down menu | باید حداقل یک بار قابل انتخاب باشد |
URL معتبر
کد زیر اعتبار سنجی URL را نشان می دهد
1 2 3 4 5 |
$website = input($_POST["site"]); if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) { $websiteErr = "Invalid URL"; } |
در بالا از نحو تأیید می شود که آیا URL مشخصی معتبر است یا خیر. این باید برخی از کلمات کلیدی به عنوان https ،ftp ،www ، a-z ،0-9 ، .. و غیره را مجاز کند.
ایمیل معتبر
کد زیر اعتبار سنجی آدرس ایمیل را نشان می دهد
1 2 3 4 5 |
$email = input($_POST["email"]); if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $emailErr = "Invalid format and please re-enter valid email"; } |
در بالا از نحو، بررسی می شود که آیا آدرس ایمیل داده شده به خوبی شکل گرفته است یا خیر. اگر اینگونه نباشد، پیام خطایی را نشان می دهد.
مثال
مثال زیر فرم با اعتبار صحت مورد نیاز را نشان می دهد
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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
<html> <head> <style> .error {color: #FF0000;} </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 = "Name is required"; }else { $name = test_input($_POST["name"]); } 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"]); } 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; } ?> <h2>Absolute classes registration</h2> <p><span class = "error">* required field.</span></p> <form method = "post" action = "<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> <table> <tr> <td>Name:</td> <td><input type = "text" name = "name"> <span class = "error">* <?php echo $nameErr;?></span> </td> </tr> <tr> <td>E-mail: </td> <td><input type = "text" name = "email"> <span class = "error">* <?php echo $emailErr;?></span> </td> </tr> <tr> <td>Time:</td> <td> <input type = "text" name = "website"> <span class = "error"><?php echo $websiteErr;?></span> </td> </tr> <tr> <td>Classes:</td> <td> <textarea name = "comment" rows = "5" cols = "40"></textarea></td> </tr> <tr> <td>Gender:</td> <td> <input type = "radio" name = "gender" value = "female">Female <input type = "radio" name = "gender" value = "male">Male <span class = "error">* <?php echo $genderErr;?></span> </td> </tr> <td> <input type = "submit" name = "submit" value = "Submit"> </td> </table> </form> <?php echo "<h2>Your given values are as:</h2>"; echo $name; echo "<br>"; echo $email; echo "<br>"; echo $website; echo "<br>"; echo $comment; echo "<br>"; echo $gender; ?> </body> </html> |
خروجی به صورت زیر می باشد
لیست جلسات قبل آموزش PHP
- آموزش PHP
- معرفی PHP
- آموزش تنظیمات محیط PHP
- آموزش نحو PHP
- آموزش انواع متغیر در PHP
- آموزش انواع ثابت ها در PHP
- آموزش انواع عملگرها در PHP
- آموزش تصمیم گیری در PHP
- آموزش انواع حلقه در PHP
- آموزش آرایه ها در PHP
- آموزش رشته ها در PHP
- آموزش مفاهیم وب در PHP
- آموزش روش های GET & POST در PHP
- آموزش Inclusion فایل در PHP
- آموزش پرونده ها و I / O در PHP
- آموزش توابع در PHP
- آموزش کوکی ها در PHP
- آموزش جلسات در PHP
- آموزش ارسال ایمیل با استفاده از PHP
- آموزش بارگذاری پرونده در PHP
- آموزش استاندارد کدگذاری در PHP
- آموزش متغیرهای از پیش تعریف شده در PHP
- آموزش عبارات منظم در PHP
- آموزش مدیریت خطا و استثنا در PHP
- آموزش اشکال زدایی در PHP
- آموزش تاریخ و زمان در PHP
- آموزش MySQL در PHP
- آموزش AJAX در PHP
- آموزش XML در PHP
- آموزش برنامه نویسی شی گرا در PHP
- آموزش PHP برای توسعه دهندگان C
- آموزش PHP برای توسعه دهندگان PERL
- آموزش معرفی فرم در PHP
دیدگاه شما