代码:
$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
问题在于:点击发送!后什么也没发生。它只是重新加载而且没有发送。
我该怎么办?
答案 0 :(得分:1)
如果语句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>
为了更好地显示,请相应地调整表格表格显示宽度。