PHP Chatbox:无法发送到MySQL数据库

时间:2014-04-11 23:16:24

标签: php mysql sql database

代码:

        $user = $_POST["user"];
        $message = $_POST["message"];
        $message = htmlspecialchars($message);

        $db=mysqli_connect("host","username","pwd","db");

        if (mysqli_connect_errno()){
            echo "Failed to connect to MySQL: " . mysql_connect_error();
        }

        #Connected   

        if(isset($message) == true && $message != "" && $message != " "){
            if(isset($user) == false){
                $user = "visitor";
            }

            $sql="
            INSERT INTO ChatBox (DateTime, User, Content)
            VALUES
            (now(),'$_POST[User]','$_POST[Content]')
            ";

            if (!mysqli_query($db,$sql))
            {
            die('Error: ' . mysqli_error($db));
            }
            }

            mysqli_close($db);

这是我在聊天室中的代码。

但是,我使用行if(isset($message) == true && $message != "" && $message != " "){来查明$ _POST [' message']是否为空。

最后,我无法在聊天框中插入任何内容。

这是我的聊天室链接:http://jamie-is-cool.comeze.com/chat.php

问题在于:点击发送!后什么也没发生。它只是重新加载而且没有发送。

我该怎么办?

提供完整的代码列表here

1 个答案:

答案 0 :(得分:1)

如果语句if( isset( message) ...返回true,则会触发插入代码块。

但是在HTML表单中,没有名称为messageusercontent的元素。

<form action="chat.php" style="margin:0px;padding:1px;" method="POST">
  User: <input type="text" style="width:15%;" name="User" /> | 
  <input type="text" style="width:65%;" name="Content" />
  <input type="submit" value="Send!" style="width:10%;" />
</form>

将一个名为message的输入类型元素添加到具有某个值的表单中,然后提交以获得成功。

<form action="chat.php" style="margin:0px;padding:1px;" method="POST">
  User: <input type="text" style="width:15%;" name="User" /> | 
  <input type="text" style="width:65%;" name="Content" />
  <input type="text" style="width:65%;" name="message" />
  <input type="submit" value="Send!" style="width:10%;" />
</form>

为了更好地显示,请相应地调整表格表格显示宽度。