页面不会重定向,因为未插入任何数据

时间:2019-03-30 17:23:10

标签: php mysql sql

我正在建立一个小型论坛,而我的其中一个页面遇到了问题。尽管没有运行查询,但我正在从成功到达页面的表单中获取数据,因此,页面没有被重定向。填写完表单后,我单击表单上的post,我只得到一个空白页面,其中包含我的回声数据,我不知道为什么会这样。它正在接收数据,所以我不明白为什么查询没有运行。

我在下面添加了我的question-function.php代码,并且可以根据需要添加表单数据,尽管由于数据已到达问题功能页面,所以我看不到该页面上怎么有问题。

<?php

include "../functions/db.php";

$title = isset($_POST['title']) ? $_POST['title'] : "";
$content = isset($_POST['content']) ? $_POST['content'] : "";
$category = isset($_POST['category']) ? $_POST['category'] : ""; 
$userid = isset($_POST['userid']) ? $_POST['userid'] : "";
$datetime=date("Y-m-d h:i:sa");

$sql = "INSERT INTO tblpost(title,content,cat_id,datetime,user_Id) VALUES ('" . $title . "','" . $content . "','" . $category . "','" . $datetime . "','" . $userid . "')";

$result = $mysqli->query($sql);

echo $title;
echo $content;
echo $category;
echo $userid;

if($result==true)
                        {
                               echo '<script language="javascript">';
                                echo 'alert("Post Successfully")';
                                echo '</script>';
                                echo '<meta http-equiv="refresh" content="0;url=content.php" />';
                        }


?>

我应该定向到content.php,并且应该有新的帖子。与我当前收到的空白页相反,这就是这种情况的发生。

编辑:

db.php:

<?php
/* Database connection settings */
$host = 'xxxx';
$user = 'xxxx';
$pass = 'xxxx';
$db = 'xxxx';
$mysqli = new mysqli($host,$user,$pass,$db) or die($mysqli->error);

1 个答案:

答案 0 :(得分:1)

首先,您需要重组代码以防止sql注入。

您可以在每个$mysqli->real_escape_string()索引上使用$_POST

已更新

    $sql = "INSERT INTO tblpost(title,content,cat_id,datetime,user_Id) 

    VALUES ('{$title}','{$content}','{$category}','{$datetime}','{$userid}')";

    $result = $mysqli->query($sql);

    if ($result) {
       //Your block of code
    } else {
       printf("Errormessage: %s\n", $mysqli->error);
       $mysqli->close();
       die();
    }