Nachrichtensystem programmieren?

4 Antworten

Hi,

lässt sich relativ leicht mit PHP und einer Datenbank umsetzen. Du brauchst ein Skript, das alle Nachrichten auflistet und optional eins, in dem ein Formular eingebettet ist, über das neue Nachrichten gesendet werden können.

Du erstellst eine Datenbank (bspw. "nachrichten") und erstellst darin eine Tabelle, in der die Nachrichten, Absender, Empfänger alle anderen Daten gespeichert werden. Vorne noch ein ID-Feld dazu, optional eine Spalte mit dem Zeitstempel, fertig.

Beim der Ausgabe im Script erstellst du einfach eine Query und lässt dir die Daten per Schleife ausgeben.

PHP

<?php
//Datenbankverbindung
$db = NEW MySQLi->query('localost','dbusername','dbpasswort','datenbank');
//Query $query = $db->query("SELECT * FROM nachrichten WHERE username = 'username' ORDER BY id DESC");
//Array if($query->num_rows != 0) {
 while($row = mysqli_fetch_assoc($query)) {
         $username = $row['username'];
         $recipient = $row['empfaenger'];
         $message = $row['msg'];
         $date = $row['timestamp'];
  }
} ?>

Es sollen natürlich nur die Nachrichten angezeigt werden, die an den eingeloggten User gesendet wurden. Das bestimmst in der Query mit:

WHERE username = 'username'

Der Username könnte aus einer Session stammen.

Last bot nut least erstellst du ein HTML-Formular, das du mit PHP auswertest und dessen Daten du dann in die DB einfügst.

HTML

<html>
 <form method="post">
   <label>Empfänger</label>
   <input type="text" name="recipient" required />

   <label>Nachricht</label>
   <textarea name="message" required></textarea>

   <input type="button" name="sendMsg" value="Nachricht senden" />
 </form>
</html>

PHP

<?php
//Form-Daten in Array
$recipient = $_POST['recipient'];
$msg = $_POST['messsage'];

//Schutz vor MySQL-Injection
$recipient = htmlspecialchars($recipient);
$msg = htmlspecialchars($msg);

//Datenbankverbindung
 
$db = NEW MySQLi->query('localost','dbusername','dbpasswort','datenbank'); $insert = $db->query("INSERT INTO nachrichten (recipient,message) VALUES ($recipient,$msg)"); if(insert != TRUE){ echo "Die Nachricht konnte nicht gesendet werden"; }else{ header("Location: example.php"); } ?>

So könnte das ungefähr aussehen. Besser wäre, du arbeitest gleich von Anfang an mit Prepared Statements und verzichtest auf MySQLi. Dann kannst du dir das Escapen sparen.

//Schutz vor MySQL-Injection

$recipient = htmlspecialchars($recipient);
$msg = htmlspecialchars($msg);

Andernfalls (wenn du MySQLi nutzt) unbedingt escapen!

Infos dazu: https://www.php-einfach.de/mysql-tutorial/php-prepared-statements/

VG
Savix

Die Rede ist von einem Chat?
Ich könnte mir die Datenbankstruktur wie folgt vorstellen:

Ein Gespräch bekommt eine interne ID. Dazu wird gelistet, wer dem Gespräch alles beiwohnt und dazu der Verlauf, den jeder Gesprächspartner als Abgleich bekommt. Schau' auf YouTube einfach nach "php Chat" bzw. "php Chat deutsch". Früher oder später wirst du aber auf englisches Material angewiesen sein, daher würde ich an deiner Stelle nicht zwingend nach einem deutschsprachigen Tutorial suchen.

Wozu nen tutorial? Da reichen dir basics in php, (my)sql und js aus (natürlich noch html)

HTML (Website) Anmeldung und Benutzerprofile hinzufügen?

Hallo Liebe Community... Ich bin gerade dabei meine eigene Website zu programmieren, läuft auch ziemlich gut... Aber leider brauche ich bei einer Sache Hilfe. Und zwar möchte ich in die Website einbinden, das sich die Leute registrieren können, und dann einen Account haben... Auf dem sie ein Bild hinzufügen können, einen Status etc. (d.h. ihre Daten editieren können)

Nur leider habe ich keine Ahnung wie ich das machen soll, etwa in PHP, JavaScript... Kein Ahnung.

Währe lieb, wenn mir jemand sagen könnte, wie ich das machen kann, vllt auch gleich ein Tutorial verlinken oder gleich den Code schicken :) Währe cool...

Mfg Alexander

...zur Frage

Noch nicht empfangene whatsapp Nachrichten auf neuem Handy empfangen?

Mein altes android Handy lässt sich nicht mehr anschalten. Nun würde ich gerne whatsapp auf meinem neuen iphone installieren. Ich werde die gleiche simkarte und Nummer verwenden. Werde ich dann auf dem neuen Handy die Nachrichten lesen können, die ich in den letzten Tagen noch nicht empfangen habe? Und- werde ich auch weiterhin in den Gruppen sein? Werden mir diese angezeigt? Würd mich über Erfahrungen freuen!

...zur Frage

JavaScript AJAX sicher?

Hey Community, Habe momentan ein User Control Panel gemacht via PHP. Jetzt wollte ich mich ein bisschen weiterbilden und kam auf die Idee eine Single Page zu machen. Die Frage ist ob AJAX genauso (un)sicher ist wie PHP. Soweit ich das verstanden habe, via AJAX, gibt der User beim Formular ja loginname und pw an, dann übergebe ich die Daten an das JavaScript und er gibt dann via POST die Daten weiter an meine PHP Datei und via Echo kann ich auf das js antworten und dann entscheiden was damit gemacht wird.

Meine Frage: Wie sicher ist das? & kann der Nutzer das JavaScript einsehen, sowie den Quellcode?

...zur Frage

Effekt - FadeIn FadeOut - JavaScript/Jquery

Hi ich benutze diesen Code um eine Subnavi umzusetzen er funktioniert wunderbar. ;) Nur möchte ich gerne das es nicht so plump an und aus geht. Ich habe gesehen das man mit Jquery FadeIn und FadeOut nutzen kann. Aber verstanden wie ich es in die Funktion setzte habe ich noch nicht. :D

<script language="JavaScript" type="text/javascript">
<!--
function einblenden(element){
  document.getElementById(element).style.display = 'block';
}
//-->

<!--
function ausblenden(element){
  document.getElementById(element).style.display = 'none';
}
//-->
</script>

Jquery habe ich so eingebunden:

<script src="<a href="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js</a>"></script>

Kan mir einer sagen wie ich ein FadeIn und ein FadeOut in die Funktionen kriege ??

...zur Frage

Schöne HTML/PHP Seiten machen?

Hey, ich bin in html/php ziemlich gut. Das Problem ist, ich schaffe es nicht professionelle Seiten hinzukriegen, die mit einem schlichten schönen „luxuriösen“ Style mithalten können. Irgendwelche CSS Tipps?

...zur Frage

Wie kann ich in Facebook von Fremden nachrichten empfangen (unter 18)?

Hallo, ich möchte von einer person die nicht in meiner Freundensliste ist eine nachricht empfangen, darauf hin habe ich meine einstellungen verändert und man konnte mir eine FA schicken aber keine nachricht. Und kann ich nachrichten nach bekommen wenn die schon abgeschickt wurde ich des aber erst danach freigebe?

Lg R.S

...zur Frage

Was möchtest Du wissen?