Php Can';t回显POST,但可以回显请求

Php Can';t回显POST,但可以回显请求,php,forms,post,Php,Forms,Post,编辑:如我在评论中所述,找到了答案。在if语句中使用了single=而不是double。我们从我的帖子中学到的是,你不应该在8小时的轮班和很少的睡眠后尝试编写代码。 似乎有一个奇怪的问题,我似乎无法回显我的任何$\u POST变量,但如果我使用$\u请求访问它们,就可以了 error_reporting(E_ALL); ini_set('display_errors', true); //Session start session_start(); //Adding a story var_d

编辑:如我在评论中所述,找到了答案。在if语句中使用了single=而不是double。我们从我的帖子中学到的是,你不应该在8小时的轮班和很少的睡眠后尝试编写代码。

似乎有一个奇怪的问题,我似乎无法回显我的任何$\u POST变量,但如果我使用$\u请求访问它们,就可以了

error_reporting(E_ALL); ini_set('display_errors', true);
//Session start
session_start();

//Adding a story
var_dump($_POST);
echo $_REQUEST['title'];

//Get, check & clean variables
if ($_SESSION['login'] != 1) {
    echo 'Not logged in';
} else {
    $user = $_SESSION['UID'];
    $title = mysql_real_escape_string($_POST["title"]);
    $desc = mysql_real_escape_string($_POST['description']);
    $date = time();

    //Add story to DB
    echo "<br />User: $user  Title: $title  Desc: $desc   Date: $date";
    $sql = "INSERT INTO `cl-stories` (title,user,date,description) VALUES ('$title', '$user', '$date', '$desc')";
}
注意Title:和Desc:之后没有任何内容

表格(如果有帮助):

<form method="post" action="cl-addStory.php">
<input type="text" name="title" size="22" value="Title">
<textarea name="description" value="Description" rows="6">Story description</textarea>
<input type="submit" name="submit"/>
</form>

故事描述

我没有发现任何错误,我已经在一个单独的页面上尝试了你的表单,效果很好。请查看以下代码:

<?php

echo "<pre>";print_r($_POST);echo "</pre>";
?>
<form method="post" action="">
<input type="text" name="title" size="22" value="Title">
<textarea name="description" value="Description" rows="6">Story description</textarea>
<input type="submit" name="submit"/>
</form>

故事描述

将此代码放在单独的文件中并对其进行测试。

我曾经遇到过一个问题,即某些浏览器(在我的示例中是Chrome浏览器)中的错误会提交表单两次(即使只单击了一次提交按钮,并且看起来页面只刷新了一次)。因此,浏览器将提交一次表单中提供的内容,另一次提交一个空表单(一秒钟后)

这可能是你正在经历的。我用计算机解决了这个问题


希望有帮助。

如果
变量存在,如果我使用var\u dump POST
那么它应该可以工作。你可以尝试将字符串和变量连接起来:
值(“.title.”、“$user.”、“
等。尝试过,但意识到变量中没有任何内容。甚至无法在自己的日志中回显POST变量,例如echo$\u POST['title']尝试回显您的
var\u dump
下的
$\u POST['title']
以确认没有任何干预代码正在清除它。此外,尝试直接回显title,而不是在不调用mysql函数的情况下过滤掉它,我可以
echo$\u POST['title'];
但现在无法使用
$title
变量执行任何操作。即使不转义它。
<?php

echo "<pre>";print_r($_POST);echo "</pre>";
?>
<form method="post" action="">
<input type="text" name="title" size="22" value="Title">
<textarea name="description" value="Description" rows="6">Story description</textarea>
<input type="submit" name="submit"/>
</form>
if (!empty($_POST)){ ... }