douju9272 2014-04-11 23:16
浏览 15
已采纳

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

Code :

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

This is my code in a chatbox.

However, I use the line if(isset($message) == true && $message != "" && $message != " "){ to find out whether $_POST['message'] is null or not.

Finally, I cannot insert anything in my chat box.

This is my chatbox link : http://jamie-is-cool.comeze.com/chat.php

The problem is that : After clicking <kbd>Send!</kbd> nothing happened. It just reload and didn't send.

What should I do?

A complete list of code is available here.

  • 写回答

1条回答 默认 最新

  • douju7503 2014-04-11 23:24
    关注

    Insert code block will on fire if the statement if( isset( message) ... returns a true.

    But in your HTML form, there is no such element with name message but a user and content.

    <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>
    

    Add an input type element named message to the form with some value and then submit to get succeed.

    <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>
    

    For better display, adjust the form table display width accordingly.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c