[英]PHP form validation doesn't work when submited?
當我填寫表單並單擊“提交”按鈕時,我的驗證不顯示或工作,如果失敗則應顯示錯誤。 它只是重定向到同一頁面(index.php),就是這樣。 當我對類進行一些更改時,我的自定義css也不會改變。 這是我的代碼:
代碼結構:
Project
|
+-- includes
| |
| +-- footer.php
| +-- form_process.php
| +-- header.php
+-- public
| |
| +-- main.js
| +-- style.css
+-- vendor
|
+-- composer.json
+-- index.php
style.css文件
.error
{
color:red;
}
.success
{
color:#ff9966;
text-align:center;
font-weight:bold;
font-size:15px;
}
index.php文件:
<?php include 'includes/header.php'; ?>
<?php include 'includes/form_process.php'; ?>
<div class="container">
<form id="contact" action="<?php $_SERVER['PHP_SELF']; ?>" method="POST">
<h2>Contact</h2>
<div class="form-group">
<input type="text" class="form-control" placeholder="Enter company name:" value="<?php $company_name; ?>" name="company_name">
<span class="error"> <?php $company_name_error; ?> </span>
</div>
<div class="form-group">
<input type="text" class="form-control" placeholder="Enter your name:" value="<?php $user_name; ?>" name="user_name">
<span class="error"> <?php $user_name_error; ?> </span>
</div>
<div class="form-group">
<input type="text" class="form-control" placeholder="Enter your surname:" value="<?php $user_surname; ?>" name="user_surname">
<span class="error"> <?php $user_surname_error; ?> </span>
</div>
<div class="form-group">
<input type="text" class="form-control" placeholder="Enter your email:" value="<?php $email; ?>" name="email">
<span class="error"> <?php $email_error; ?> </span>
</div>
<div class="form-group">
<input type="text" class="form-control" placeholder="Enter your number:" value="<?php $number; ?>" name="number">
<span class="error"> <?php $number_error; ?> </span>
</div>
<div class="form-group">
<textarea type="text" class="form-control" placeholder="Type your message here..." <?php $message; ?> rows="6" name="message"></textarea>
</div>
<div class="form-group">
<button class="btn btn-success" type="submit" name="submit" id="contact-submit">Submit</button>
</div>
<div class="success"> <?php $success; ?> </div>
</form>
</div>
<?php include 'includes/footer.php'; ?>
form_process.php:
<?php
require_once 'vendor/autoload.php';
$company_name_error = $user_name_error = $user_surname_error = $email_error = $number_error = "";
$company_name = $user_name = $user_surname = $email = $number = $message = $success = "";
function test_input($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["company_name"])) {
$company_name_error = "Company name is required!!!";
} else {
$company_name = test_input($_POST["company_name"]);
if (!preg_match("/^[a-zA-Z ]*$/", $company_name)) {
$company_name_error = "Only letters and white spaces are allowed!!!";
}
}
if (empty($_POST["user_name"])) {
$user_name_error = "User name is required!!!";
} else {
$user_name = test_input($_POST["user_name"]);
if (!preg_match("/^[a-zA-Z ]*$/", $user_name)) {
$user_name_error = "Only letters and white spaces are allowed!!!";
}
}
if (empty($_POST["user_surname"])) {
$user_surname_error = "User surname is required!!!";
} else {
$user_surname = test_input($_POST["user_surname"]);
if (!preg_match("/^[a-zA-Z ]*$/", $user_surname)) {
$user_surname_error = "Only letters and white spaces are allowed!!!";
}
}
if (empty($_POST["email"])) {
$email_error = "Email is required!!!";
} else {
$email = test_input($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$email_error = "Invalid email format!!!";
}
}
if (empty($_POST["number"])) {
$number_error = "Number is required!!!";
} else {
$number = test_input($_POST["number"]);
if (!preg_match("/^[0-9+\-\.\/\(\) ]{6,30}$/", $number)) {
$number_error = "Enter phone number from 6 to 30 characters!!!";
}
}
if (empty($_POST["message"])) {
$message = "";
} else {
$message = test_input($_POST['message']);
}
}
好像你永遠不會echo
index.php
任何變量
你的<?php $number_error; ?>
例如<span class="error">
<?php $number_error; ?>
要么<?= $number_error; ?>
<?= $number_error; ?>
或<?php echo $number_error; ?>
<?php echo $number_error; ?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.