Guten Morgen zusammen,
ich möchte das erste Mal ein "Chat" System realisieren. Habe dafür bereits folgendes Script im Internet gefunden:
Das funktioniert auch alles ganz gut. Allerdings frag ich mich ob das der beste Weg ist um das so realisieren?
Ich "baue" gerade eine Platform, wo man als User anderer User kontaktierien kann - streng genommen: ein Chat immer zwischen max 2 Personen
Wie kann ich dieses Thema nach "Best practice" umsetzen ?
Sollte ich lieber eine Datenbank nutzen, statt ein simples HTML File?
Oder sollte ich sogar einen ganz anderen Weg einschlagen?
Schon mal vielen Dank für eure Unterstützung :)
ich möchte das erste Mal ein "Chat" System realisieren. Habe dafür bereits folgendes Script im Internet gefunden:
Code:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script type="text/javascript">
$(function(){
var debug = 0;
// Ajax submit message
$("#submit").on("click", function(e) {
var message = $(".message"),
form = $("#send-message-form");
$.ajax({
type: "POST",
data: form.serialize(),
success: function(data) {
if (debug) {
console.log("Message send");
}
message.val("");
}
});
e.preventDefault();
});
// Get contents of messages.html
function loadMessages(){
var messages = $("#messages"),
messagesHtml = messages.children();
$.ajax({
url: "messages.html",
cache: false,
dataType: "text",
success: function( data, textStatus, jqXHR ) {
if (debug) {
console.log($(data).length);
console.log(messagesHtml.length);
}
if (messagesHtml.length != $(data).length) {
messages.html(data);
messages.animate({
scrollTop: messages.find("p:last").offset().top
}, 3000);
}
else {
return;
}
}
});
}
// Load messages.html file every 1000ms
setInterval(function(){
loadMessages();
}, 1000);
});
</script>
</head>
<body>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["nickname"])) {
$nickname = "user_" . date('His');
} else {
$nickname = $_POST["nickname"];
}
if (empty($_POST["message"])) {
$message = "";
} else {
$message = $_POST["message"];
}
}
if ($message && $_SESSION['username']) {
$file = fopen("messages.html","a+");
$date = date('H:i');
$data = "<p>[" . $date . "] <b>" . $_SESSION['username'] . ":</b> " . $_POST['message'] . "</p>";
fwrite($file, $data);
fclose($file);
}
?>
<div id="messages"></div>
<form id="send-message-form" action="" method="post">
<input class="message" name="message" placeholder="Your message..." />
<input id="submit" type="submit" name="submit" value="Send">
</form>
</body>
</html>
Das funktioniert auch alles ganz gut. Allerdings frag ich mich ob das der beste Weg ist um das so realisieren?
Ich "baue" gerade eine Platform, wo man als User anderer User kontaktierien kann - streng genommen: ein Chat immer zwischen max 2 Personen
Wie kann ich dieses Thema nach "Best practice" umsetzen ?
Sollte ich lieber eine Datenbank nutzen, statt ein simples HTML File?
Oder sollte ich sogar einen ganz anderen Weg einschlagen?
Schon mal vielen Dank für eure Unterstützung :)