Ein User kommt auf ihre Website und soll sich ähnlich wie in einem Gästebuch in eine Shoutbox eintragen. Dafür sind ihm die Felder "Name" und "Nachricht" zur Verfügung gestellt, mehr brauchen wir nicht. Benötigt wird erstmal ein Grundstein in reinem html:
- Code: Alles auswählen
<html>
<head>
<title>Shoutbox</title>
</head>
<body>
<form action="write.php" method=post>
<center>
<h1>
Eintragen:
</h1>
<br />
<br />
Name:
<br />
<input type=text name="name"><br /><br />
Message:
<br />
<textarea rows=10 cols=70 name="msg"></textarea>
<br /><br />
<input type=submit>
</form>
</center>
<br />
<center>
<h1>
Shouts:
</h1>
<br />
<br />
Hier stehen nachher die shouts
</body>
</html>
Wie manche schon gesehen haben, nutzen wir die datei "make.php" zum eintragen der shouts. Kümmern wir uns also um diese:
Wir benutzen MySQL.
- Code: Alles auswählen
<?
$host = "localhost";
$user = "root";
$pass = "";
$database = "test"; //DATENBANK AUSWÄHLEN!!1
$dz = mysql_connect($host, $user, $pass);
mysql_select_db($database, $dz);
?>
Diesen Code speichern wir in der Datei "mysql.inc"
- Code: Alles auswählen
CREATE TABLE `shout` (
`id` int(7) NOT NULL auto_increment,
`name` mediumtext NOT NULL,
`message` longtext NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=9 ;
So, damit haben wir alles, was wir für MySQL benötigen. Kommen wir zum eintragen-teil:
- Code: Alles auswählen
<?
$name = $_POST['name'];
$msg = $_POST['msg'];
If (empty($name)) {
die("Der Name fehlt!!!");
}
If (empty($msg)) {
die("Die Message fehlt!!!");
}
include("mysql.inc");
$query = "INSERT INTO `shout` ( `name` , `message` ) VALUES ( '$name', '$msg' )";
$do = mysql_query($query);
header("Location: index.php?make=right");
?>
Nachdem in die Tabelle geschrieben wurde, wird der Benutzer zu Index.php weitergeleitet, wobei der Paramenter "make" auf "right" gesetzt
wurde. Also müssen wir index.php ergänzen:
- Code: Alles auswählen
<?
$make = $_GET['make'];
If ($make == "right") {
print "<font color=\"red\"><h1>Shout erfolgreich eingetragen!</h1></font><br /><br />";
}
include("mysql.inc");
?>
Dieser Teil gibt ganz bequem nur eine erfolgsmeldung aus, wenn der User erfolgreich eine Message eingetragen hat. Um die Messages auszulesen, benutzen wir das SELECT-Kommando:
- Code: Alles auswählen
<?
$query = "SELECT `name`, `message`, `id` FROM `shout` ORDER BY `id`";
$sql = mysql_query($query);
while ($ds = mysql_fetch_object($sql)) {
$name = $ds->name;
$msg = $ds->message;
$id = $ds->id;
print "<table border=\"1\"><tr><td>Posted by: $name</td></tr><tr><td>Message:<br />$msg</td></tr></table><br /><hr />";
}
?>
Das ganze wird ganz bequem in tabellen ausgegeben.
Fertig sehen die Dateien also so aus:
index.php
- Code: Alles auswählen
<html>
<head>
<title>Shoutbox</title>
</head>
<body>
<?
$make = $_GET['make'];
If ($make == "right") {
print "<font color=\"red\"><h1>Shout erfolgreich eingetragen!</h1></font><br /><br />";
}
include("mysql.inc");
?>
<form action="write.php" method=post>
<center>
<h1>
Eintragen:
</h1>
<br />
<br />
Name:
<br />
<input type=text name="name"><br /><br />
Message:
<br />
<textarea rows=10 cols=70 name="msg"></textarea>
<br /><br />
<input type=submit>
</form>
</center>
<br />
<center>
<h1>
Shouts:
</h1>
<br />
<br />
<?
$query = "SELECT `name`, `message`, `id` FROM `shout` ORDER BY `id`";
$sql = mysql_query($query);
while ($ds = mysql_fetch_object($sql)) {
$name = $ds->name;
$msg = $ds->message;
$id = $ds->id;
print "<table border=\"1\"><tr><td>Posted by: $name</td></tr><tr><td>Message:<br />$msg</td></tr></table><br /><hr />";
}
?>
</body>
</html>
make.php
- Code: Alles auswählen
<?
$name = $_POST['name'];
$msg = $_POST['msg'];
If (empty($name)) {
die("Der Name fehlt!!!");
}
If (empty($msg)) {
die("Die Message fehlt!!!");
}
include("mysql.inc");
$query = "INSERT INTO `shout` ( `name` , `message` ) VALUES ( '$name', '$msg' )";
$do = mysql_query($query);
header("Location: index.php?make=right");
?>


