我正在进行PHP聊天,但是很不幸,我遇到了一个问题。
这是关于通过“ ?save=msg
”发送消息。
"chat.php?save=msg"
味精写在数据库中。
我的问题是,我不想通过重新加载页面来重新发送消息。
我为该站点尝试了"Force-Reload"
,但是"?save=msg"
并没有因此消失。
"onclick='chat.php'"
或类似的东西
PHP脚本
if(isset($_GET['save'])) {
$save = $_GET['save'];
if($save == 'msg') {
//< <> > & &
$uauswahl = trim($_POST['nachrichteneing']);
if ($uauswahl != NULL){
$uauswahl = str_replace("&", "&", $uauswahl);
$uauswahl = str_replace("<", "<", $uauswahl);
$uauswahl = str_replace(">", ">", $uauswahl);
include("str_replace.php");
$uname = $user['benutzer'];
$ava = $user['avatar'];
$statement = $pdo->prepare("INSERT INTO chathistory (msg, name, avatar) VALUES(:msg, :name, :avatar)");
$result = $statement->execute(array('msg'=> $uauswahl, 'name'=> $uname, 'avatar'=> $ava));
if ($result == true){
$success_msg = "Nachricht wurde gesendet.";
} else {
$error_msg = "Beim Absenden der Nachricht scheint ein Fehler aufgetreten zu sein.";
}
} else{
$error_msg = "Nachricht wurde nicht gesendet. </br> Grund: Nachricht darf nicht leer sein.";
}
}
我的表格
<form enctype="multipart/form-data" action="?save=msg" method="POST">
<input type="text" id="msgsf" autocomplete="off" name="nachrichteneing" placeholder="Tippe Nachricht...">
<input type="submit" id="msgfb" value="" />
</form>
我希望有人对此有所了解
答案 0 :(得分:0)
如果您希望页面刷新一次以提交表单,则需要调整代码以引用$_POST
而不是$_GET
。在页面重新加载之间传递GET参数,方法是在URL中附加通过标头发送POST的URL。
从HTML方面出发,您需要更改操作以反映页面名称,然后从代码中更改,只需将$_GET
换成$_POST
即可。