Итак, я создаю страницу контактов, которая берет значения от пользователей и сохраняет их в базе данных. Код прекрасно работает в localhost, но когда я запускаю его на хостинге Namecheap, он говорит, что данные не передаются.
Включает contact.inc.php
<?php
if (isset($_POST['submit'])) {
include_once 'dbh.inc.php';
$first = mysqli_real_escape_string($mysqli, $_POST['first']);
$last = mysqli_real_escape_string($mysqli, $_POST['last']);
$email = mysqli_real_escape_string($mysqli, $_POST['email']);
$number = mysqli_real_escape_string($mysqli, $_POST['number']);
$message = mysqli_real_escape_string($mysqli, $_POST['message']);
if (empty($first) || empty($email) || empty($number) || empty($last)) {
header("Location: ../index.php?contact=empty");
exit();
}
elseif (!preg_match("/^[a-zA-Z]*$/", $first)) {
header("Location: ../index.php?contact=firstchar&email=$email&number=$number&last=$last");
exit();
} elseif (!preg_match("/^[a-zA-Z]*$/", $last)) {
header("Location: ../index.php?contact=lastchar&email=$email&number=$number&first=$first");
exit();
} elseif (!preg_match('/^[0-9]{10}+$/', $number)) {
header("Location: ../index.php?contact=number&first=$first&last=$last&email=$email");
} elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
header("Location: ../index.php?contact=email&first=$first&last=$last&number=$number");
exit();
} else {
$sql = "INSERT INTO con (user_first, user_last, user_email, user_number, user_message) VALUES (?, ?, ?, ?, ?);";
$stmt = mysqli_stmt_init($mysqli);
if (!mysqli_stmt_prepare($stmt, $sql)) {
echo "SQL Error *_*";
} else {
mysqli_stmt_bind_param($stmt, "sssss", $first, $last, $email, $number, $message);
mysqli_stmt_execute($stmt);
}
header("Location: ../index.php?contact=success");
}
}
?>
Включает index.php
<form action="includes/contact.inc.php" method="POST"
class="contact-form">
<h4 class="formh">How can we help you?</h4>
<?php
if(isset($_GET['first'])) {
$first = $_GET['first'];
echo '<input type="text" name="first" placeholder=" First Name" required value="'.$first.'">';
} else {
echo '<input type="text" name="first" placeholder=" First Name" required>' ;
}
echo "<br />";
if(isset($_GET['last'])) {
$last = $_GET['last'];
echo '<input type="text" name="last" placeholder=" Last Name" required value="'.$last.'">';
} else {
echo '<input type="text" name="last" placeholder=" Last Name" required>' ;
}
echo "<br />";
if(isset($_GET['email'])) {
$email = $_GET['email'];
echo '<input type="text" name="email" placeholder=" Email" required value = "'.$email.'">';
} else {
echo '<input type="text" name="email" placeholder=" Email" required>';
}
echo "<br />";
if(isset($_GET['number'])) {
$number = $_GET['number'];
echo '<input type="text" name="number" placeholder="Mobile (+91-97809-09887)" required value = "'.$number.'">';
} else {
echo '<input type="text" name="number" placeholder="Mobile (+91-97809-09887)" required>';
}
echo "<br />";
if(isset($_GET['message'])) {
$message = $_GET['message'];
echo '<textarea name="message" id="" cols="50" rows="15" placeholder="Message" value = "'.$message.'">'.'</textarea>';
} else {
echo '<textarea name="message" id="" cols="50" rows="10" placeholder="Message"></textarea>';
}
echo "<br />";
echo '<button name="submit" type="submit" class="form_button">Submit</button>';
if (!isset($_GET['contact'])) {
exit();
} else {
$registerCheck = $_GET['contact'];
if ($registerCheck == "empty") {
echo "<p class = 'error'>*You did not fill in all the fields.</p>";
}
elseif ($registerCheck == "firstchar") {
echo "<p class = 'error'>*You used invalid character in first name.</p>";
}
elseif ($registerCheck == "lastchar") {
echo "<p class = 'error'>*You used invalid character in last name.</p>";
}
elseif ($registerCheck == "email") {
echo "<p class = 'error'>*You used an invalid email.</p>";
}
elseif ($registerCheck == "number") {
echo "<p class = 'error'>*You used an invalid mobile number.</p>";
}
elseif ($registerCheck == "success") {
echo "<p class = 'success'>*Cool! We got your message!!</p>";
}
}
?>
index.php имеет форму, которая имеет метод = post, предназначенный для contacts.inc.php. В файле contacts.inc.php он проверяет обработку ошибок и отправляет данные в базу данных. Это прекрасно работает в localhost. Но в хостинге namecheap он выводит «* Вы не заполнили все поля.», Что является выходом, когда вы пропускаете какой-либо ввод в форме или файл contacts.inc.php не получает данные.
Пожалуйста, помогите!