【问题标题】:Submit posts blank data into mysql将帖子空白数据提交到mysql
【发布时间】:2012-11-17 12:13:41
【问题描述】:

我对此真的很陌生,我遇到了一个问题,过去几天一直在伤害我的大脑,我尝试搜索我的问题和东西,但没有任何效果。

问题是,我有一个 HTML 表单,当您单击提交时,它会将数据发布到 mysql 表中,它可以很好地提交数据,但是每次您按下提交时,它都会提交一组数据,其中所有字段都是空白的,除了customer 对应 $session_user_id 的字段。

我已经尝试过“if isset”,但它似乎对代码没有影响。这可能是我遗漏的一些小东西,但我没有收到任何错误。我的代码如下,数据库连接在另一个 .php 文件中并且工作正常。

<?php

if ( isset($session_user_id, $_POST['description'])){

$description = htmlentities(mysql_real_escape_string($_POST['description']));

mysql_query ("INSERT INTO `jobs` (customer, description) 
    VALUES ('".$session_user_id."', '".$description."')");

}

?>

还有我的html表单:

<form action="" method="POST">
    <ul>
        <li>
            <label for="description">Description:</label>
            <textarea name="description" rows=5 cols=30></textarea>
        </li>
        <li>
            <input type="submit" value="Submit">
        </li>
    </ul>
</form>

非常感谢您的帮助。

【问题讨论】:

  • 你不应该逃避进入数据库的数据。相反,您应该在将其输出到浏览器之前对其进行转义(当然假设它在 HTML 上下文中)。此外,如果您要将其转义到数据库中,您将以相反的顺序执行这些功能。逃逸(实体())不是实体(逃逸())。此外,您应该考虑切换到 PDO。 msyql 扩展是古老的,PHP 建议反对。无论如何,直截了当,您是否尝试过 var_dump'ing $_POST['description']?它是一个空字符串吗? isset 认为空字符串为真。

标签: php html mysql post


【解决方案1】:

尝试删除 htmlentities 原因仅适用于特定字符集。也检查一下here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-17
    • 1970-01-01
    • 2012-11-26
    • 1970-01-01
    相关资源
    最近更新 更多