代码:
$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 .
最佳答案
如果语句 if( isset( message) ...
返回 true
,则插入代码块将会着火。
但是在您的 HTML 表单中,不存在名为 message
的元素,而是包含 user
和 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>
将名为 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>
为了更好的显示,请相应调整表单的显示宽度。
关于PHP 聊天框 : Cannot Send to MySQL Database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23024092/