Archiv verlassen und diese Seite im Standarddesign anzeigen : Einfaches Gästebuch basierend auf php4 und MySQL
In diesem Tutorial lernt Ihr wie einfach es ist, ein Gästebuch mit php4 und MySQL zustellen.
http://www.php-resource.de/tutorials.php?show=20020126_gb_p1.php
Sehr schönes Tutorial. Jetzt wäre es nur noch toll, wenn in nächster Zeit noch ein Administrationstool dazu kommen würde
Hallo,
als erstes möchte ich sagen, dass das Tut super ist. Ich habe aber ein problem mit der Install.php. Wenn ich diese ausführe, kann die Tabelle nicht erstellt werden und wenn ich den Datenbank erstellen Befehl unter phpMyAdmin ausführe kommt auch ein Fehler . Drunten findet ihr den Code. Ich habe die var.inc.php in _data.inc.php geändert, da ich immer diesen Dateinamen benutze.
Hab das Problem gelöst.
ich hab (wie immer) ein kleines problem bei dem tutorial. ich hab alles genauso gemacht, wie dort steht. also alles bis auf install.php, weil ich die tabelle anders angelegt habe. wenn ich jetzt einen neuen eintrag mache, sollte ich ja wieder zur übersicht zurückkommen. da passiert aber gar nix. und wenn ich auf das gästebuch zurückgehe wird der beitrag nicht angezeigt, obwohl er in der tabelle drinsteht...
kann mir da jemand helfen? danke
Creepy
hast du auch die anderen Datenbankdaten geändert ? Damit auch aufs richtige Teil zugegriffen wird ?
michael1508 14-05-2002, 21:11 Hi all,
ich habe das gleiche Phänomen, wie cmatt: nach dem Insert des neuen Beitrages wird nicht auf die Übersichtsseite zurückgesprungen. Wenn ich dort manuell hingehe, muß ich die Seite immer erst (ebenfalls manuell) refreshen, damit der zu letzt editierte Eintrag angezeigt wird.
P.S. Auch ich habe die Tabelle manuell angelegt (aber exakt so, wie im Tut. beschrieben)
Danke für Eure Hilfe
Man muss immer refrechen wenn man auf zurück klickt.(Es wird der alte quelltext angezeigt, der schon ausgeführt war)Naja und mit den header("Location:gb.php"); müsste eigentlich gehen weil es würd ja zufuhr kein html code ausgeben.Naja mehr weiss ich auch nicht.Ich schaue mir die tuts nur an und halte mich auch nicht daran wie es im tut beschrieben wird, sonst kann ich ja gleich den quelltext kopieren.Man findet ja immer neue funktionen :-d
Mastereye3k 04-06-2002, 19:46 Hi!
Erst mal möchte ich sagen, dass ich anfänger bin! Also nicht rummeckern! So nun zum Problem:
Ich habe das Tuturial einfach mal kopiert! Wollte mal schauen ob es funktioniert! Bei der Install.php und der var.inc.php gab es keine Schwierigleiten! Aber mit der gb.php: Ich hab das script so kopiert wie es ist und dann mal ausprobiert! Bis zum "Neuen Beitrag hinzufügen" startet es und gibt keine Fehlermeldung aus!
Wenn ich dann einen neuen Beitrag schreiben will und dann auf eintragen klicke, kommt folgende Fehlermeldung:
"Warning: Cannot add header information - headers already sent by (output started at C:\wampp2036\htdocs\PHP\var.inc.php:12) in C:\wampp2036\htdocs\PHP\gb.php on line 114"
Ich lese daraus das der header Befehl nicht funktioniert! Wenn ich dann die gb.php neu starte, ist der Eintrag aber da!
Könnt ihr mir helfen?
Mastereye:(
es darf nicht html vor den header sein sonst geht es nicht.
war bei mir auch so wo ich mein logon script geschrieben habe, nur das da auch die fehlermeldung wo gar kein html war :(
kill@motte 10-06-2002, 01:37 Hi
Ich hab auch ein Problem mit dem tutorial. Soweit funktioniert auch alles, bis auf wenn ich einen Eintrag mache das dieser nicht angezeigt wird, obwohl der eintrag schon im der mysql db vorhanden ist. Was mir dann noch aufgefallen ist, das ich mich durch unendlich viele Seiten klicken kann obwohl nur ein Eintrag existiert.
überprüfen könnt ihr es hier: http://www.anarchic.de/php/gb/gb.php
kill@motte 10-06-2002, 19:55 lol jetzt gehts aufeinmal und ich hab nichts gemacht :confused:
kill@motte 11-06-2002, 16:10 Hmm auf einmal gehts wieder nicht, ist schon komisch.
Kann einer sagen woran das liegen könnte?
<?php
include("var.inc.php");
if (!isset($aktion))
{
$aktion = "show";
}
if (!isset($seite))
{
$seite = 1;
}
if ($aktion == "show")
{
echo"<html>".
"<head>".
"<title>Joel's GästeBuch v0.0.1</title>".
"</head>".
"<body>";
$conn = mysql_connect($dbserver,$dbuser,$dbpass);
mysql_select_db($dbname,$conn);
$anfang = ($seite-1)*$beitraege+1;
$ende = $anfang+$beitraege-1;
$query = "SELECT * FROM gb ORDER BY datum DESC";
$result = mysql_query($query,$conn);
$gesamt = mysql_num_rows($result);
if ($gesamt == 0)
{
echo "Keine Beiträge vorhanden !";
}
$counter = 1;
if ($ende > $gesamt) { $ende = $gesamt; }
while ($zeileholen = mysql_fetch_array($result,MYSQL_ASSOC))
{
if (($counter >= $anfang) AND ($counter <= $ende))
{
echo"<table width=\"604\" border=\"0\">".
"<tr>".
"<td colspan=\"7\" height=\"25\" background=\"http://web98.server16.y-w-s.de/bilder/neu2.jpg\">".
"<table width=\"100%\" border=\"0\">".
"<tr>".
"<td height=\"3\"></td>".
"</tr>".
"<tr>".
"<td>".
"<div align=\"center\">Datum: ".$zeileholen["datum"]."</div>".
"</td>".
"</tr>".
"</table>".
"</td>".
"</tr>".
"<tr>".
"<td width=\"2%\"></td>".
"<td background=\"http://web98.server16.y-w-s.de/bilder/neu3.jpg\" width=\"3\"></td>".
"<td width=\"30%\"><u>Name:</u><br>
<a href=\"mailto:".stripslashes($zeileholen["email"])."\">".stripslashes($zeileholen["name"])."</a><br>
<u>Homepage:</u><br>
<a href=\"".stripslashes($zeileholen["homepage"])."\" target=\"_blank\">".stripslashes($zeileholen["homepage"])."</a><br>".
"<table width=\"100%\" border=\"0\" height=\"100%\">".
"<tr>".
"<td></td>".
"</tr>".
"</table>".
"</td>".
"<td background=\"http://web98.server16.y-w-s.de/bilder/neu3.jpg\" width=\"3\"></td>".
"<td width=\"66%\">".stripslashes(nl2br(htmlentities($zeileholen["beitrag"])))."<br>".
"<table width=\"100%\" border=\"0\" height=\"100%\">".
"<tr>".
"<td></td>".
"</tr>".
"</table>".
"</td>".
"<td background=\"http://web98.server16.y-w-s.de/bilder/neu3.jpg\" width=\"3\"></td>".
"<td width=\"2%\"></td>".
"</tr>".
"<tr>".
"<td colspan=\"7\" height=\"25\" background=\"http://web98.server16.y-w-s.de/bilder/neu.jpg\"> </td>".
"</tr>".
"</table>".
" ____________________________________________<br><br>";
}
$counter++;
}
echo"<table cellspacing=\"2\" cellpadding=\"2\" border=\"1\" align=\"center\">";
echo "<tr><td>";
if ($seite == 1)
{
echo" ";
}
else
{
echo"<a href=\"gb2.php?aktion=show&seite=".($seite-1)."\">zurück</a>";
}
echo"</td><td><a href=\"gb2.php?aktion=edit\">neuer Beitrag</a></td><td>";
if ($ende >= $gesamt)
{
echo" ";
}
else
{
echo"<a href=\"gb2.php?aktion=show&seite=".($seite+1)."\">weiter</a>";
}
echo"</td></tr>";
echo"</table>";
}
if ($aktion == "edit")
{
echo"<html>".
"<head>".
"<title>Joel's GästeBuch v0.0.1</title>".
"</head>".
"<body>";
echo"Neuer Beitrag schreiben :";
echo"<form action=\"gb2.php?aktion=insert\" method=\"post\">".
"<table cellspacing=\"2\" cellpadding=\"2\" border=\"0\">".
"<tr>".
"<td>Name : </td>".
"<td><input type=\"text\" name=\"name\" size=\"30\" maxlength=\"50\"></td>".
"</tr>".
"<tr>".
"<td>eMail : </td>".
"<td><input type=\"text\" name=\"email\" size=\"30\" maxlength=\"50\"></td>".
"</tr>".
"<tr>".
"<td>Homepage :</td>".
"<td><input type=\"text\" name=\"homepage\" size=\"30\" maxlength=\"100\"></td>".
"</tr>".
"<tr>".
"<td>Beitrag :</td>".
"<td><textarea cols=\"70\" rows=\"20\" name=\"beitrag\"></textarea></td>".
"</tr>".
"<tr>".
"<td><input type=\"submit\" name=\"sub\" value=\"Eintragen\"></td>".
"<td><input type=\"reset\" name=\"res\" value=\"Reset\"></td>".
"</tr>".
"</table>".
"</form>";
}
if ($aktion == "insert")
{
$conn = mysql_connect($dbserver,$dbuser,$dbpass);
mysql_select_db($dbname,$conn);
$datum = date("Y-m-d H:i:s",time());
$query = "INSERT INTO gb VALUES ('', '".addslashes($name)."', '".addslashes($email)."', '".addslashes($homepage)."', '".addslashes($beitrag)."' ,'".$datum."')";
$result = mysql_query($query,$conn);
if (!$result)
{
die ("Sorry, Datenbankeintrag hat nicht funktioniert");
}
mysql_close($conn);
header("Location:gb2.php");
}
?>
</body>
</html>
Ihr könnt euch hier ein Bild davon machen http://www.anarchic.de/php/gb/gb2.php
Ich hab mein Probelm gefunden.
Ich hab die Namen der Felder groß geschrieben, so wie im Tutorial. Aber das geht nicht
kill@motte 11-06-2002, 18:37 Also mein Problem hab ich schon behoben, es war ein Fehler in der var.inc.php
Trotzdem thx für die hilfe
wie kann man bei der Ausage vom Datum das Datum auf das Format : Tag, Monat, Jahr Stunde,Minute,Sekunde bringen??
Und am besten wäre noch der Wochentag mit Montag, Dienstag etc. ausgegeben wird und die Monate nicht January, etc. sondern Januar, etc. heißen.
(z.B. Monatag, 23. April 2002 15:15:36)
Habe ebenfalls ein Problem.
Wenn ich auf "neuer Beitrag" klicke ,passiert gar nichts.
Woran liegt das?
Das Script habe ich direkt übernommen.
@Mastereye3k: Schau mal, ob die Variable in der URL übertragen wird
1.Ist diese Zeile notwenig? Kann das überhaup mal vorkommen?
if ($ende > $gesamt) { $ende = $gesamt; }
2. geht durch mysql_assoc der Befehl schneller, denn der ist nur optional
while ($zeileholen = mysql_fetch_array($result,MYSQL_ASSOC))
Wäre es nicht einfacher, wenn man
$ende = $beitraege * $seite schreibt?
|
|