$ _POST не вставляется в таблицу сообщений с помощью bindValue, в то время как другое поле вставляется - PullRequest
0 голосов
/ 28 мая 2020

таблица сообщений в базе данных имеет поля (идентификатор, дата и время, заголовок, категория, автор, изображение, сообщение), все в нижнем регистре.

Имя «категории» выбирается из опции выбора формы с помощью $ _POST не вставляется в таблицу сообщений с помощью bindValue, в то время как другое поле вставляется. этот код имеет форму, в которой категория обновляется в форме из таблицы категорий из базы данных и обновляется в элементе select option.

<div class="form-group">
          <label for="CategoryTitle"><span class="FieldInfo">Choose Category </span></label>
<select class="form-control" id="CategoryTitle" name="Category">
  <?php
  global $ConnectingDB;
  $sql = "SELECT id,title FROM category";
   $stmt = $ConnectingDB->query($sql);
   while($DataRows = $stmt->fetch()){
     $Id = $DataRows["id"];
    $CategoryName = $DataRows["title"];


   ?>
   <option value=""><?php echo $CategoryName;  ?></option>
   <?php  } ?>
</select>
        </div>

в этой части происходит вставка в базу данных при нажатии кнопки отправки нажал, используя метод POST, поля извлекаются из формы, а затем SQL вставка запроса с использованием bindValue.

<?php
if(isset($_POST["Submit"])){
$PostTitle =$_POST["PostTitle"];
$Category=$_POST["Category"];
$Image     =$_FILES["Image"]["name"];
$Target   ="Uploads/".basename($_FILES["Image"]["name"]);
$PostText  =$_POST["PostDescription"];
$Admin = "Rahul";
date_default_timezone_set("Asia/Kolkata");
$CurrentTime=time();
$DateTime=strftime("%B-%d-%Y %H:%M:%S",$CurrentTime);

if(empty($PostTitle)){
  $_SESSION["ErrorMessage"]="Title cannot be empty";
  Redirect_to("AddNewPost.php");
}elseif (strlen($PostTitle)<5) {
  $_SESSION["ErrorMessage"]="Post title should be greater than 5 character";
  Redirect_to("AddNewPost.php");
}elseif (!isset($_POST["Category"])) {
  $_SESSION["ErrorMessage"]="category not set.";
  Redirect_to("AddNewPost.php");
}
elseif (strlen($PostText)>999) {
  $_SESSION["ErrorMessage"]="Post Description should not be more than 1000 character.";
  Redirect_to("AddNewPost.php");
}else {
  // query to insert
  $sql ="INSERT INTO  posts(datetime,title,category,author,image,post)";
  $sql .="VALUES(:datetime,:postTitle,:categoryName,:adminName,:imageName,:postDescription)";
  $stmt = $ConnectingDB->prepare($sql);
  $stmt->bindValue(':datetime',$DateTime);
  $stmt->bindValue(':postTitle',$PostTitle);
  $stmt->bindValue(':categoryName',$Category);
  $stmt->bindValue(':adminName',$Admin);
  $stmt->bindValue(':imageName',$Image);
  $stmt->bindValue(':postDescription',$PostText);
  $Execute=$stmt->execute();

  if($Execute){
    $_SESSION["SuccessMessage"]="Category with id: ".$ConnectingDB->lastInsertId()." added succesfully";
    Redirect_to("AddNewPost.php");

  }else {
    $_SESSION["ErrorMessage"]="Something went wrong.";
    Redirect_to("AddNewPost.php");

  }
}


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