💬
1 : データベースなしでリアルタイムブラウザチャット作ったけど質問ある?
2: >>1 なんでデータベースなしでやったの?
金かかるからw
有料系のやつじゃないとクッソ重いしだるいからやて
俺、佐藤裕也(`ェ´)ピャー
お金がないので今日も、無料のブラウザサーバーを謳歌する
というわけでw replitっていうブラウザエディタ使ってんだけど、無料でサーバー使えるんだよねw
で、せっかくここまで有料を華麗に回避してきたのに、今更有用のデータベース使うのアホらしいんだよねw
じゃあもう自分で擬似データベース作ろうとwっていうわけなんだお
仕組みのお話。
POSTでデータを送信 → phpで、ファイルに保存。(txtでもなんでもいいお) → 非同期通信でリアルタイムで表示するためにajaxで表示
みたいな感じだおw 仕組みはEZ
ソースコードとかとか
まあ基本コードって感じかな?これベースにしていくよ。
POSTのPHP register的な? 送信先の処理だけどw
post.php
//日本語が文字化けしないようにするやつ
//postを起動したら
if($_POST){
//postから送られてきたデータをcontentに入れる
$content = $_POST['comment'];
//ファイルパス 任意でよろ
$file_name = './database/bbs.txt';
//先程作った関数に、データを渡す
fwrite('$file_name, $content');
//リロード
header('Location: ./');
}
送信フォーム。 ここはphpじゃなくてもHTMLでもいい
送信フォームにチャットを表示させることがあると思うので、その処理も買いときます。コメント見て
form.html
<html>
<head>
<title>SiChats</title>
</head>
<body>
<form action="" method="POST">
<input type="textare" name="comment" value="">
</form>
//チャット表示↓↓↓↓↓↓↓↓
<div id="load_this"></div>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
</body>
</html>
ajaxのファイル。jQueryのやつ使う。送信フォームのとこにjQueryインポートしたのもそのため。
script.js
$('#load_this').load('database/bbs.txt #loadbox');
count = 0;
var countUp = function() {
$('#load_this').load('database/bbs.txt #loadbox');
}
time = setInterval(countUp, 5000);
txtを読み込めるようにちょっと改造w
database/bbs.txt
<div id="loadbox">
Discussion