آموزش فرم ها در PHP – تکمیل فرم
سلام
در پنجمین قسمت کار با فرم ها هستیم؛ تا اینجا به موارد زیادی از جمله:
گفتیم، حالا در آخرین قسمت نکات نهایی و کد کامل فرم را در اختیارتان قرار میدهیم، در ادامه همراه بپرسم باشید.
نگهداری مقادیر فرم ها
زمانی که کاربر فیلدهای فرم را تکمیل و ارسال کرد، میتوانیم پس از ارسال، مقادیر را نشان دهیم، برای این کار فقط کافیست تا متغیرهایی که برای ذخیره مقادیر ارسالی در سمت سرور تعریف کردیم را در خاصیت value تگ های input و بین تگ <textarea> قرار دهیم.
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ |
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="۵" cols="۴۰"><?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 |
در تگ های radio و checkbox خاصیتی داریم که اسم checked که وقتی کاربر این گزینه ها را انتخاب کند، این خاصیت فعال میشود.
کد نهایی فرم
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹ ۲۰ ۲۱ ۲۲ ۲۳ ۲۴ ۲۵ ۲۶ ۲۷ ۲۸ ۲۹ ۳۰ ۳۱ ۳۲ ۳۳ ۳۴ ۳۵ ۳۶ ۳۷ ۳۸ ۳۹ ۴۰ ۴۱ ۴۲ ۴۳ ۴۴ ۴۵ ۴۶ ۴۷ ۴۸ ۴۹ ۵۰ ۵۱ ۵۲ ۵۳ ۵۴ ۵۵ ۵۶ ۵۷ ۵۸ ۵۹ ۶۰ ۶۱ ۶۲ ۶۳ ۶۴ ۶۵ ۶۶ ۶۷ ۶۸ ۶۹ ۷۰ ۷۱ ۷۲ ۷۳ ۷۴ ۷۵ ۷۶ ۷۷ ۷۸ ۷۹ ۸۰ ۸۱ ۸۲ ۸۳ ۸۴ ۸۵ ۸۶ ۸۷ ۸۸ ۸۹ ۹۰ ۹۱ ۹۲ ۹۳ ۹۴ ۹۵ ۹۶ ۹۷ ۹۸ ۹۹ ۱۰۰ ۱۰۱ ۱۰۲ ۱۰۳ ۱۰۴ ۱۰۵ ۱۰۶ ۱۰۷ |
<!DOCTYPE HTML> <html> <head> </head> <body> <?php // تابعی که نوشتیم و داده های ارسالی را قبلا از ارسال از این تابع عبور میدهیم function filterInput($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; } // تغریف متغیر ها و دادن مقدار اولیه خالی به هر کدام $name = $email = $gender = $comment = $website = ""; // تعریف متغیر، برای نگهداری پیغام های خطا $nameErr = $emailErr = $genderErr = $websiteErr = ""; // چک میکنیم اگر متد ارسالی برابر پست بود، مقادیر را از فرم دریافت کند // و از تابعی که نوشتیم، عبور دهد تا داده هایی بی عیب و نقص داشته باشیم. if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "Name is required"; } else { $name = filterInput($_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 = filterInput($_POST["email"]); // بررسی صحیح بودن آدرس ایمیل if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $emailErr = "Invalid email format"; } } if (empty($_POST["website"])) { $website = ""; } else { $website = filterInput($_POST["website"]); // بررسی صحیح بودن آدرس سایت 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 = filterInput($_POST["comment"]); } if (empty($_POST["gender"])) { $genderErr = "Gender is required"; } else { $gender = filterInput($_POST["gender"]); } } ?> <h2>PHP Form Validation Example</h2> <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="۵" cols="۴۰"> <?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> <?php echo "<h2>Your Input:</h2>"; echo $name; echo "<br>"; echo $email; echo "<br>"; echo $website; echo "<br>"; echo $comment; echo "<br>"; echo $gender; ?> </body> </html> |
کار با فرم ها در PHP به پایان رسید و مثال خوبی نیز زدیم، در قسمت های پیشرفته PHP که کار با دیتابیس و انجام پروژه های عملی خواهد بود، با فرم ها به صورت مکرر کار خواهیم کرد.
سوالی در رابطه با مبحث فرم ها داشتید، در بخش پرسش و پاسخ سایت بپرسید، پاسخگوی شما خواهیم بود.
موفق باشید.
ارسال نظر
شما باید وارد شوید یا عضو شوید تا بتوانید نظر ارسال کنید