PHP-код работает на localhost, но выдает ошибку при размещении на namecheap - PullRequest
0 голосов
/ 07 января 2019

Итак, я создаю страницу контактов, которая берет значения от пользователей и сохраняет их в базе данных. Код прекрасно работает в 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 не получает данные.

Пожалуйста, помогите!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...