为什么我的错误消息没有回显到屏幕?

时间:2016-04-13 15:40:59

标签: php

当用户提交表单时,PHP将检查$ post是否为空,如果是,则设置$ error_message变量;因此数据库INSERT查询将不会执行。然后我尝试在代码中进一步显示错误消息,但它不会显示。我一直试图解决这个问题几个小时,我仍然找不到解决方案。有趣的是,这曾经有用,但是我必须在这个文件中实现一些阻止代码正确执行的东西。

为什么我的错误消息没有回显到屏幕上(最后几行代码显示尝试回显error_message)?

<?php require("inc/db.php"); ?>
<?php include("inc/functions.php"); ?>
<?php include ("inc/ChromePhp.php"); ?>
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
ini_set("html_errors", 1);
session_start();
if(!isset($_GET['id'])) {
  header("Location: ?id=".getUserId($_SESSION['U_Email']));
}
if(isset($_SESSION["U_Email"])) {
  $usersData = getUserInfo($_GET['id']);
  $postCount = getPostCount($_GET['id']);
} else {
  header('Location: login.php');
}

if($_SERVER["REQUEST_METHOD"] == "POST") {
  $post = trim(filter_input(INPUT_POST,"user_post",FILTER_SANITIZE_SPECIAL_CHARS));

  if($post == "") {
    $error_message = "Please enter something before submitting";
  }

  if(!isset($error_message)) {
    $post = $db->real_escape_string($post);
    $postStore = $db->query("INSERT INTO `Post`(P_Body, P_Dateadded, User_U_ID) VALUES ('{$post}', NOW(), '{$_SESSION['U_ID']}' )");
  }
}

$dashNav = true;
$cap = true;
$pageTitle = 'Profile';
$name = $usersData['U_Forename'] . " " . $usersData['U_Surname'];
$gender = $usersData['U_Gender'];
$bio = $usersData['U_Biography'];
$team = $usersData['U_Team'];
$city = $usersData['U_City'];
include("inc/header.php");
?>

  <?php if(userExists($_GET['id'])) { ?>
  <section>
    <div class="wrapper">
      <?php
      if($_SESSION['U_ID'] != $_GET['id']) {
        $testFollow = "SELECT `Following`.F_ID, `Following`.U_ID FROM `Following`
        WHERE U_ID = '{$_SESSION['U_ID']}' AND F_ID = '{$_GET['id']}'";
        $testFollowResult = $db->query($testFollow);
        if ($testFollowResult->num_rows > 0) {
          echo "<button class='lift' href='#'>Unfollow Driver</button>";
        } else {
          echo "<button class='lift' href='#'>Follow Driver</button>";
        }
      }
      ?>

      <?php if (isset($error_message)) {
        // This code will not echo!
        echo "<h2>".$error_message."</h2>";
      }
  ?>
</div>

<div class="section-b">
 <div class="grid">
  <div class="row">
   <div class="col-wd-12">
    <div class="col">
     <form id="share" name="share" action="profile.php" method="post">
     <textarea id="post" name="user_post" placeholder="What's happening?">    </textarea>
     <span id="errorpost" class="error">You must input something something before sending</span>
     <?php
     echo "<div class='g-recaptcha' data-     sitekey='6LfNTB0TAAAAAKEw9zfnFzvGCXF9MuYTkdB144x1
     '></div>"; ?>
   <button onclick="return postCheckValidate();"        type="submit">Share</button>
 </form>
     </div>
    </div>
   </div>
  </div>
 </div>
<?php } ?>

0 个答案:

没有答案