Webchatアプリを作成していますが、問題があります。ユーザーからのメッセージを投稿してデータベースに追加したいのですが、私のページを再読み込みしたくありません。 「そのようなことをやったが、それが動作していません。ページを更新せずにPOSTを送信する
ファイルのindex.php:
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
setInterval(function() {
$("#chat-content").load('chat.php');
},10);
$("#submit").click(function(){
var clientmsg = $("#message").val();
$.post("chat.php", {text: clientmsg});
$("#message").attr("value", "");
return false;
});
</script>
</head>
<body>
<div id="chat-content">
</div>
</body>
<form method="post" id="messageform">
<input type="text" id="message" name="message"></input>
<input id="submit" name="sumbit" type="submit" value="Send" />
</form>
ファイルchat.phpを:
<?php include('db.php');
$query = "SELECT * FROM `czat`;";
$result = $con->prepare($query);
$result->execute();
$count = $result->fetchColumn();
if($count > 100){
$query = "TRUNCATE `czat`;";
$result = $con->prepare($query);
$result->execute();
}
$query = "SELECT * FROM `czat` ORDER BY id ASC LIMIT 10;";
$result = $con->prepare($query);
$result->execute();
while($row = $result->fetch()){
echo $row["nazwa"].' - '.$row["tresc"].'<br>';
}
if(isset($_POST['text'])){
$text = $_POST['text'];
$query = "INSERT INTO `czat` (`id`, `nazwa`, `tresc`) VALUES (NULL, 'dd', '$text');";
$result = $con->prepare($query);
$result->execute();
}
?>
をdb.phpは、DBへの標準的な接続であります。
preventDefaultのアドバイスありがとうございますあなたが参照したい場合は、上記の投稿に私のコードを含めた – Kizbo
詳細を提供する必要がある場合。実際には、あなたのPHPは、POSTを受信した後に何も送信しません。それがうまくいかないとはどういう意味ですか? Ajax経由で送信されるデータはありませんか? Ajaxは送信しましたが、ページが更新されましたか?送信ボタンをクリックしてもメッセージは入力されたままですか? –
私は、POSTが受信された後、このコード行を実行したいと思っています:https://pastebin.com/8phtaRk9 – Kizbo