php - 页面不会重定向,因为没有插入数据

标签 php mysql sql

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

我已经在下面添加了我的 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);

最佳答案

首先,你需要重构你的代码来防止sql注入(inject)。

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

已更新

    $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();
    }

关于php - 页面不会重定向,因为没有插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55433916/

相关文章:

Sql Inner 只有在存在时才加入第一条记录 Take Next

php - 通过 javascript 调用禁用 zend 布局

MySQL 查询以聚合过去 7 天内创建的版本数

php - 如何将 item_name 的值传递给 Paypal 页面?

php - 如何编写查询以根据条件检查另一个表?

mysql - 将多个数据存储到一个字段中以便更好地管理?

mysql - 当所有产品都处于特定条件时仅返回值的查询

sql - 如果外键的列设置为 false,Postgres 将删除一行

php - 我如何跟踪访问者的国家并将他们重定向到适当的站点?

PHP 403 禁止发布 HTML