Daten aus Datenbank auslesen? geschlossen 

Status
Für weitere Antworten geschlossen.

Rammsteiner

Registered +
Registriert
Feb. 2007
Beiträge
183
Ich will so ne art "Chat" mit Vb Net und Php machen..
Also die daten werden schon an eine Datenbank gesenden..
Ich will sie jetzt nur auslesen können..
Das heißt.. man soll die Sachen die in einer Datenbank stehen.. auch lesen können.

Soweit ist mein Code mal.
PHP:
[COLOR=#00BFFF]
//Die Loginprozedur in die mySQL Datenbank
$server = "localhost";
$user = "**";
$pass = "***";
$datenbank = "***";

$conn = mysql_connect($server, $user, $pass) or die ("FALSCH");
$db = mysql_select_db($datenbank, $conn);
//###

//Holt unsere Daten über GET
$nick = $_GET[nick];
$nachricht = $_GET[nachricht];
//###

//trägt Daten in die Tabelle "message" ein
$sql = "INSERT INTO message (nick, nachricht) VALUES ('$nick', '$nachricht')";
$query = mysql_query($sql);



if(!$query) { //prüft ob Eintragung erfolgreich war, wenn nicht ...
echo "ERROR"; // ... gibt er uns einen Error aus den wir dann im Programm verarbeiten können

}


?>
[/COLOR]

Das soll so Aussehen..
Code:
Tabelle Nick: Tabelle Nachricht

Aber kein Plan wie ich das machen soll.
 
Lies das mal durch: #php/QuakeNet Tutorial - MySQL / Abfragen
Da steht beschrieben wie du mit mysql Abfragen umgehst.

Jetzt habe ich noch einen kleinen Verbesserungsvorschlag: html-tags werden klein geschrieben, und du solltest dir frühzeitig angewöhnen css zu benutzen...

Und ich hab noch ne Frage... du willst nen chat programmieren... wieso benutzt du da eine Datenbank für? In der Regel werden die übertragenen Nachrichten doch nicht persistent gespeichert, weshalb eine DB eher unnötig ist...
 
hi Rammsteiner,

hiermit kannst du die einträge deiner message-tabelle ausgeben lassen:

PHP:
//Die Loginprozedur in die mySQL Datenbank 
$server = "localhost"; 
$user = "**"; 
$pass = "***"; 
$datenbank = "***"; 

$conn = mysql_connect($server, $user, $pass) or die ("FALSCH"); 
$db = mysql_select_db($datenbank, $conn); 
//### 


$sql = 'SELECT * FROM message;';
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
echo $row['nick'].': '.$row['nachricht'].'
';
}
?>

noch zwei anmerkungen:

ich vermute mal, dass du die posts in der richtigen zeitlichen reihenfolge ausgeben lassen willst. dann müßtest du noch den zeitpunkt der eintragung in der tabelle mit abspeichern. das funktioniert entweder direkt mit einem "timestamp"-feld in der der tabelle, oder du erzeugst einen zeitstempel in php und schreibst den dann in die tabelle in ein varchar-feld.

den code für die anmeldung an der mysql-datenbank kannst du auch prima in eine php-include-datei auslagern und dann in jedes skript mit z.B.
PHP:
include('datenbankanmeldung.php');
einbinden.

tschö,
zockerkid :)
 
Also entschuldigt, wenn ich mal so von der Seite in diese Diskussion platze, aber ich glaube einen kleinen, aber feinen Hinweis haben hier alle Vergessen:

Rammsteiner, bitte schreibe NIEMALS Daten, die Du vom Benutzer bekommst blind in Deine Datenbank bzw. schon in Deine DB-Query.

Ich könnte hier wohl jetzt viele Seiten zu diesem Thema finden und verlinken, aber ich glaube mal FIREBALL.DE [PHP MYSQL GET POST SECURITY] wird dir wohl als Ansatz reichen.

MfG Jayman
 
Wenn du jetzt noch kurz sagst, dass man damit seinen ganzen Server kompromitieren kann, ist er vielleicht mehr gewarnt :)

@op: gibt fertige Security-Klassen, die die Nutzereingaben überprüfen und entsprechend filtern.

Gruß
Markus
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten