PHP – مثال کامل فرم (PHP Complete Form Example)
مثال کامل فرم PHP
این فصل نشان میدهد که چگونه مقادیر ورودیها را هنگام فشردن دکمه ارسال (submit) توسط کاربر نگه داریم.
نگه داشتن مقادیر در فرم PHP (PHP - Keep The Values in The Form)
برای نمایش مقادیر در فیلدهای ورودی پس از فشردن دکمه ارسال توسط کاربر، یک اسکریپت کوچک PHP را داخل ویژگی value فیلدهای ورودی زیر اضافه میکنیم: name، email و website. در فیلد textarea مربوط به comment، اسکریپت را بین تگهای <textarea>
و </textarea>
قرار میدهیم. این اسکریپت کوچک مقدار متغیرهای $name، $email، $website و $comment را خروجی میدهد.
سپس، همچنین نیاز داریم که نشان دهیم کدام دکمه رادیویی (radio button) انتخاب شده است. برای این کار، باید ویژگی checked را دستکاری کنیم (نه ویژگی value برای دکمههای رادیویی):
<!DOCTYPE HTML>
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>
<?php
// تعریف متغیرها و تنظیم آنها به مقادیر خالی
$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 (!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"]);
// بررسی کنید که آیا آدرس ایمیل به درستی تشکیل شده است
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Invalid email format";
}
}
if (empty($_POST["website"])) {
$website = "";
} else {
$website = test_input($_POST["website"]);
// بررسی کنید که آیا نحو آدرس 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"]);
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<h2>PHP Form Validation Example</h2>
<p><span class="error">* required field</span></p>
<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="5" cols="40"><?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>
این مثال نشان میدهد که چگونه مقادیر ورودیهای فرم را نگه داریم و همچنین پیامهای خطا را برای فیلدهای مورد نیاز نمایش دهیم. با فشردن دکمه “Submit”، مقادیر وارد شده توسط کاربر نمایش داده میشود و فیلدهای خالی مجدداً پیامهای خطا را نمایش میدهند.
برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید. صفحه ورود و ثبت نام