با سلام و عرض ادب خدمت کاربران سایت پی وی لرن. در این پست که آخرین جلسه از سری جلسات کار با فرم در PHP می باشد، قصد داریم اعتبار سنجی ایمیل و URL را مورد بررسی قرار دهیم.
همانطور که در جلسات قبل اشاره کردیم، اعتبار سنجی یکی از ابتدایی ترین اقدامات برای امنیت وب سایت و جلوگیری از نفوذ می باشد.
در کد زیر روشی ساده برای بررسی کردن فیلد نام با شرط اینکه فقط شامل حروف و جای خالی(space) باشد، نشان داده شده است.
اگر مقدار فیلد معتبر نیاشد، یک پیغام خطا را در متغیر ذخیره می کند.
1 2 3 4 | $name = test_input($_POST["name"]); if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $nameErr = "فقط حروف و جای خالی مجاز به استفاده هستند"; } |
تابع ()preg_match یک استرینگ را برای تطبیق دادن با یک الگو جستجو می کند.
اگر الگو وجود داشت مقدار true را بر می گرداند و اگر وجود نداشت مقدار false را بر می گرداند.
ساده ترین و مطمئن ترین راه برای اینکه یک آدرس ایمیل معتبر هست یا نه، استفاده از تابع ()filter_var می باشد.
در کد زیر اگر آدرس ایمیل معتبر نباشد، یک پیغام خطا در متغیر ذخیره می کند.
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 = "آدرس نا معتبر می باشد"; } |
برای اینکه بعد از زذن دکمه ارسال مقادیر داخل فیلد های ورودی نمایش داده شوند، ما یک اسکریپت کوچک در داخل ویژگی value فیلد های ورودی اضافه می کنیم.
در فیلد textarea دیگاه، ما اسکریپت را بین تگ های <textarea> و </textarea> اضافه می کنیم.
همچنین لازم است تا نشان دهیم کدام radio button چک خورده است. برای این کار ما باید ویژگی checked را دستکاری کنیم. ( نه ویژگی value)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 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 <input type="radio" name="gender" <?php if (isset($gender) && $gender=="other") echo "checked";?> value="other">Other |
بسیار خوب.
سری جلسات کار با فرم در PHP نیز به پایان رسید. امیدواریم که این آموزش ها مفید واقع شده باشند.
همچنین برای آشنایی بیشتر با زبان php می توانید آموزش های php سایت پی وی لرن را مطالعه فرمایید.
در ضمن می توانید نظرات و سوالات خود را از طریق بخش نظران با ما در میان بگذارید.