Hi,
also in diesem Script werde ich euch zeigen wie ihr ein Gästebuch mit Datenbankanbinndung und Smilies schreiben könnt.
1. Aufbau der Seite, wo die Einträge angezeigt werden
2. Aufbau der Seite wo man Einträge schreibt
3. Aufbau der Seite, die die Angaben überprüft und in der DB speichert
Als erstes müsst ihr in eurer Datenbank eine Tabelle mit dem Name Gbook einríchten. Sie muss 5 Felder haben:
id = int (15) und bei extras auto_in....
name = varchare(18)
email = varchare(150)
datum = int(15)
eintrag = text
So jetzt haben wir die Datenbank eingerichte wo die einträge gespeichert werden.
---------------------------------------------------------------------------------------------
Jetzt kommen wir zu der Seite, die die Einträge anzeigt:
Bitte als index.php speichern:
<html>
<head>
<title>Gästebuch</title>
</head>
<body>
<p align="center"><span style="font-size:25pt" weigth="bold">Gästebuch</span></p>
<br>
<br>
<br>
<form name="eintrag" action="eintrag.php" method="post">
<table>
<tr>
<td><input type="submit" value="Neuer Eintrag"></td>
</tr>
</table>
<br>
<br>
<br>
<?php
$dbName = "Name der Datenbank";
$dbHost = "Der Host der Datenbank";
$dbUser = "User der Datenbank";
$dbPW = "Passwort der Datenbank";
//Hiermit bau ich jetzt die Verbindung zur Datenbank auf
if (!(($dblink = mysql_connect($dbHost,$dbUser,$dbPW)) && (mysql_select_db($dbName,$dblink)))) die(mysql_error());
//Beginn Datenbank-auslese
if ($query = mysql_query("SELECT * FROM gbook ORDER BY datum DESC;")) {
while ($eintrag = mysql_fetch_array($query)) {
$datum[] = $eintrag["datum"];
$name[] = $eintrag["name"];
$email[] = $eintrag["email"];
$inhalt[] = $eintrag["eintrag"];
}
} else die(mysql_error());
//einfügen der Smilies:
<?php
$inhalt = str_replace(":-)", "<img src=\"smilie1.gif\">", $inhalt);
$inhalt = str_replace(";-)", "<img src=\"smilie2.gif\">", $inhalt);
$inhalt = str_replace(":rolleyes:", "<img src=\"smilie3.gif\">", $inhalt);
$inhalt = str_replace(":-(", "<img src=\"smilie4.gif\">", $inhalt);
//Die Daten werden ausgegeben
for ($i = 0; $i < count($name); $i++) { ?>
<table>
<tr>
<td><h4><?php echo date("d.m.Y - H:i",$datum[$i])." ".stripslashes($name[$i])." (".stripslashes($email[$i]).")"; ?></h4></td>
</tr>
<tr>
<td><h3><?php echo stripslashes(nl2br($inhalt[$i]."")); ?></h3></td>
</tr>
</table>
<hr>
<?php
}?>
<form name="eintrag" action="eintrag.php" method="post">
<table>
<tr>
<td><input type="submit" value="Neuer Eintrag"></td>
</tr>
</table>
</body>
</html>
__________________________________________________________
Jetzt die Seite, wo man einen Eintrag schreibt:
Bitte als eintrag.php speichern
<html>
<head>
<title>Gästebuch</title>
//Was wichtig ist bei dieser Anweisung,ist das Formular der Name ist der bei Form steht und Textfeld muss durch den Namen ersetzt werden durch den
//Namen der als der Name der textarea festgelegt wurde
<script language="JavaScript">
<!--
function SmilieEinfuegen(Smilie)
{
document.Formular.Textfeld.value+=Smilie+" ";
document.Formular.Textfeld.focus();
}
//-->
</script>
</head>
<body class="main">
<form name="Formular" action="speichern.php" method="post">
<p align="center"><font size="16">Neuer Eintrag im GBooK</font></p>
<p align="center">
<table>
<tr>
<td><span style="font-size:14pt">Name: </span></td>
<td><input type="text" name="Name" class="normal"</td>
<td> </td>
<td><span style="font-size:14pt">E-Mail Adresse: </span></td>
<td><input type="text" name="EMail" class="normal"</td>
</tr>
<tr>
<td colspan="5" style="text-align:center;">
<center>
<table>
<tr>
<td><p align="center"><span style="font-size:14pt">Eintrag: </span></p></td>
<td>< ailgn="center"><textarea name="Textfeld" cols="25" rows="5">Hier könnt ihr euren Eintrag rein schreiben...</textarea></p></td>
<a href="javascript:SmilieEinfuegen(':-)')"><img border="0" src="smilie1.gif"></a>
<a href="javascript:SmilieEinfuegen(';-)')"><img border="0" src="smilie2.gif"></a>
<a href="javascript:SmilieEinfuegen(':rolleyes:')"><img border="0" src="smilie3.gif"></a>
<a href="javascript:SmilieEinfuegen(':-(')"><img border="0" src="smilie4.gif"></a>
</tr>
</table>
</center>
</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><p align="center"><input type="submit" value="Eintragen"></p></td>
<td><p align="center"><input type="reset" value="Löschen"></p></td>
</tr>
</table>
</form>
</body>
</html>
Hier müsst ihr die Smilies runterladen , und im gleichen ordner speichern wie die Datein.Außerdem ist es wichtig das ihr sie auch so nennt wie in der Datei oder wenn Ihr andere Namen ihnen gibt dann müsst ihr die Namen in der Eintrag.php und indes.php Datei auch ändern!!!
__________________________________________________________
Jetzt die letzte Datei wo die Einträge gespeichert wurden:
Bitte als speichern.php speichern:
<html>
<head>
</head>
<body>
<?php
$feld = array();
$name = $_POST["Name"];
$email = $_POST["EMail"];
$eintrag = $_POST["eintrag"];
//Hier wird getestet, ob ein Eintrag im Namen steht und bei Email
//Wenn nicht, wird eine Fehlermeldung ausgegeben
if ($name == "") $feld[] = "Name";
if ($email == "") $feld[] = "E-Mail";
if (!count($feld) == 0) { ?>
<form name="eintrag" action="eintrag.php" method="post">
<h1>Eingabefehler</h1>
<span style="font-size:14pt">Folgende Felder wurden nicht ausgefüllt:
<ul>
<?php
foreach ($feld as $fehler) {
echo "<li>".$fehler;
}
?>
<br>
<br>
</ul>
<input type="submit" value="Zurück">
</span></form><?php
exit(); // Skript beenden!
}
else { ?>
<span style="font-size:20pt"><p align="center">Danke <?php echo $name?> für deinen Eintrag.</p></span>
<br>
<br>
<form name="entraege" action="gb_eintraege.php" method="post">
<p align="center"><input type="submit" value="Weiter"></p>
</form>
<?php
} ?>
//Speichern der Daten in der Datenbank
<?php $dbName = "Datenbank Name";
$dbHost = "Host der Datenbank";
$dbUser = "User der Datenbank";
$dbPW = "Passwort der Datenbank";
if (!(($dblink = mysql_connect($dbHost,$dbUser,$dbPW)) && (mysql_select_db($dbName,$dblink)))) die(mysql_error());
//Hier wird ein Timestamp gesetzt, also eine Uhrzeit gespeichert, wenn der Eintrag gespeichert wurde.
//So steht später beim Ausgeben derEinträge die Uhrzeit und ein Datum
$datum = time();
//Jetzt speichern der Daten
mysql_query("INSERT INTO gbook VALUES('','$name','$email','$eintrag');") or die(mysql_error());
?>
</body>
</html>
___________________________________________________________
Ich hoffe dieses Gbook gefällt euch und ihr habt ne Menge Spaß damit. Wenn ihr fragen habt schreibt eine PN.
Danke
Copkiller