LoginSignup
0
1

More than 1 year has passed since last update.

1 : データベースなしでブラウザチャット作ったけど質問ある?

Posted at

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">
こうすることによって、ajaxが読み込めるようになるんだお
jQuesyのやつは、ajaxのload関数を使ってるんだお
これがノーマルって感じかなw
よかったら、ワイのchatのやつ来てね
リンク→https://qiita-sichats.moysi.repl.co
気に入ったらフォローよろしく!!
Zennもやってるお!
0
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1