Photoshop
Cinema 4d
HTML / CSS
JavaScript
PHP
Flash
Fotografie
Terragen
Webserver
Informatik
Sonstige
Shoutbox (Php Tutorial)
Tutorial erstellt von Malte, letzte Änderung am 04.07.2007Vorüberlegung:
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:
<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>
<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:
<?
$host = "localhost";
$user = "root";
$pass = "";
$database = "test"; //DATENBANK AUSWÄHLEN!!1
$dz = mysql_connect($host, $user, $pass);
mysql_select_db($database, $dz);
?>
$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:
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 ;
`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:
<?
$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");
?>
$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:
<?
$make = $_GET['make'];
If ($make == "right") {
print "<font color=\"red\"><h1>Shout erfolgreich eingetragen!</h1></font><br /><br />";
}
include("mysql.inc");
?>
$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:
<?
$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 />";
}
?>
$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:
<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>
<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:
<?
$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");
?>
$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");
?>
>> Allgemeine Fragen oder Probleme mit dem Tutorial? Hier gehts zum Forum!