Gegen Bilderklau - Das Original

top_end_l.gifRegistrierungKalenderMitgliederlisteTeammitgliederSucheHäufig gestellte FragenStatistikChatZur Startseitetop_end_r.gif

Gegen Bilderklau - Das Original » Homepage & Copyright » Homepagehilfe » Tutorials und FAQ » Tut: Ein Gästebuch mit PHP & MySQL scripten » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Seiten (10): [1] 2 3 nächste » ... letzte » Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Tut: Ein Gästebuch mit PHP & MySQL scripten
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
reiterhofmeeresblick
lookin' ahead; no turnin' back


images/avatars/avatar-48580.png

Dabei seit: 29.04.2006

Tut: Ein Gästebuch mit PHP & MySQL scripten Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Willkommen zu meinem ersten Tut ^^'
Ich möchte euch also zeigen, wie man ein Gästebuch mit PHP und einer Tabelle in einer MySQL-Datenbank scriptet. Wenn ihr Fragen dazu habt, könnt ihr mir diese hier, per PN oder per ICQ stellen.

Was brauche ich?
- etwas Zeit & Geduld
- einen php-fähigen Webspace
- eine Datenbank
Und ein paar HTML- und PHP-Vorkenntnisse wären nicht schlecht xD

Insgesamt werden 2 Seiten erstellt.
1. Die gb.php -> Das Gästebuch
2. Die config.inc.php -> Die Verbindungsdaten fürs MySQL

1. Tabelle in der Datenbank erstellen
Als erstes brauchen wir eine Datenbank und dann eine Tabelle. Ich habe sie logischerweise "gb" genannt und mein Code arbeitet auch mit diesem Namen und meinen Feldern. Wenn ihr euch ein wenig mit PHP auskennt, könnt ihr das natürlich auch alles ändern (;
Hier ist mein SQL-Befehl für die Tabelle:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
CREATE TABLE `gb` (
  `id` int(11) NOT NULL auto_increment,
  `date` varchar(255) NOT NULL default '',
  `time` varchar(255) NOT NULL default '',
  `name` varchar(255) NOT NULL default '',
  `mail` varchar(255) NOT NULL default '',
  `hp` varchar(255) NOT NULL default '',
  `text` longtext NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM

Die Felder dürften eigentlich klar sein: Die ID wird automatisch generiert und taucht immer nur einmal auf, die anderen Felder sind halt Textfelder.

2. PHP-Seite scripten
2.1. HTML-Grundgerüst + Formular
Erst einmal brauchen wir den normalen "Header" einer Seite:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>    
<title>Gästebuch</title>
<link rel="stylesheet" href="style.css"> 
</head>
<body background="grafiken/HG.jpg">
<h1>Gästebuch</h1>
Ich freu mich immer über einen netten Gästebucheintrag.<br />

Nun kommt das Formular, ich mache es in eine Tabelle (;
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="guestbook">
<input type="hidden" name="flag" value="1">
<table>
 <tr>
  <td>Dein Name:</td>
  <td><input type="text" name="absender" value="<?php echo $_POST['absender']; ?>"></td>
 </tr>                                                                                                            
 <tr>
  <td>Deine E-mailadrese:</td> 
  <td><input type="text" name="mail" value="<?php echo $_POST['mail']; ?>"></td>
 </tr>                                                                                                
 <tr>
  <td>URL zu deiner Homepage:</td>
  <td><input type="text" name="hp" value="<?php echo $_POST['hp']; ?>"></td>
 </tr>                                                                                            
 <tr>
  <td>Dein Text:</td>
  <td><textarea name="text" style="height: 150px; width: 429px;"><?php echo $_POST['text']; ?></textarea>
 </td>
 </tr>
</table>
<input type="submit" value="Eintragen">
</form>
<?php
}
?>

Wie aus den Formulardetails hervorgeht, wird das Script an die selbe Seite gesendet und das heißt, dass wir später noch etwas über das Formular schreiben (;
Zusätzlich hat jedes Textfeld noch ein echo-Value. Falls das Formular abgeschickt wurde, aber Fehler enthält, so bleiben die Angaben. Das ist ganz praktisch smile Der kleine PHP-Teil unter </form> gehört zum nachfolgenden Formular.

2.2. Formular action
So, nun müssen wir natürlich den Eintrag prüfen und sichern.
Ihr schreibt nun (am besten noch über den Doctype) folgendes PHP-Script in euren Code. Die Erklärungen hierzu sind schon im Code (:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:

<?php
//$_POST['flag']==1, wenn das Formular abgeschickt wurde
if($_POST['flag']==1)
{
//Leerstellen entfernen
$_POST['absender']=trim($_POST['absender']); 
$_POST['mail']=trim($_POST['mail']);
$_POST['hp']=trim($_POST['hp']);
$_POST['text']=trim($_POST['text']);
//evtl. vorhandene HTML-Codes entfernen
$_POST['absender']=strip_tags($_POST['absender']);
$_POST['mail']=strip_tags($_POST['mail']);
$_POST['hp']=strip_tags($_POST['hp']); 
$_POST['text']=strip_tags($_POST['text']); 
//testen, ob alle Felder ausgefüllt sind
if(!$_POST['absender']){$fehler="Bitte gib Deinen Namen an! <br>";}
if(!$_POST['text']){$fehler="Bitte gib eine Nachricht ein! <br>";}
/*
Wenn Fehler vorhanden, die Textausgabe formatieren und $_POST['flag'] zurücksetzen, damit das Formular erneut angezeigt wird
*/
if($fehler)
{
$meldung="".$fehler."";
unset($_POST['flag']);
}
else //wenn alles ok ist, geht es weiter
{
//Zugangsdaten includen
include ("config.inc.php");
//Zeit und Datum ermitteln
$date date("d.m.Y");
$time date("H:i");
//sql-String zusammenbauen
$tabellenname="gb";
$sql="INSERT INTO `gb` ( `id` , `date` , `time` , `name` , `mail` , `hp` , `text` )VALUES ('', '$date', '$time', '".$_POST['absender']."', '".$_POST['mail']."', '".$_POST['hp']."', '".$_POST['text']."');" ;
//Verbindung zur Datenbank
$link mysql_connect("$dbhost""$dbuser""$dbpasswd");
mysql_select_db("$db"$link);
mysql_query($sql$link);
$meldung="Ihre Angaben wurden aufgenommen und werden im Gästebuch eingetragen. <a href=\"gb.php\" target=_self>Weiter</a>";
}
//Ausgeben der Meldung
echo $meldung;
}//Ende $_POST['flag']==1
if(!$_POST['flag'])
{
?>

So, jetzt versteht ihr auch das kleine PHP-Anhängsel unter dem Formular (:

2.3. Ausgabe der Einträge
Unter das Formular kommen dann zwei Zeilenumbrüche, eine Trennlinie oder Ähnliches und dann kannst du alle Einträge ausgeben. Ich mache das hier mal mit Seitenzahlen. Du kannst also selber bestimmen, wie viele Einträge auf einer Seite angezeigt werden sollen.
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
<?php    

//Zugangsdaten includen
include ("config.inc.php");   

$anzeigen=5//Anzahl der Datensätze, die auf einer Seite angezeigt werden sollen
if($_GET['vor']){$start=$_GET['limit']+$anzeigen;}
if($_GET['back']){$start=$_GET['limit']-$anzeigen;}
if(!$start){$start=0;}  

//Auslesen der Einträge
$tabellenname="gb";
$sql="SELECT id, date, time, name, mail, hp, text FROM $tabellenname ORDER BY id DESC LIMIT ".$start.", ".$anzeigen;
$link mysql_connect("$dbhost""$dbuser""$dbpasswd");
mysql_select_db("$db"$link);
$result mysql_query($sql$link);
for($i=0;$i<mysql_num_rows($result);$i++)
{
$ergebnis[$i]=mysql_fetch_array($result);
}     
         
//Ermitteln, wie viele Einträge vorliegen
$sql1="SELECT COUNT(*) FROM $tabellenname ";
$result1 mysql_query($sql1$link);
$maxmysql_result($result1,0,0); 

//Ausgeben der Einträge   
for($i=0;$i<count($ergebnis);$i++)
{   
$text=nl2br($ergebnis[$i]['text']);

echo ("
<br /><br /><table>
  <tr>
    <td>".$ergebnis[$i]['name']." (<a href=\"mailto:".$ergebnis[$i]['mail']."\">Mail</a> | <a href=\"".$ergebnis[$i]['hp']."\" target=_blank>WWW</a>) schrieb am ".$ergebnis[$i]['date']." um ".$ergebnis[$i]['time']." Uhr: </td>
  </tr>
  <tr>
    <td>".$text."</td>
  </tr></table>");
  }   
  
  //Ausgeben der Links vor und zurück     
  echo "<table border=\"0\" width=\"100%\"><tr><td align=\"left\">";
  if($start>=$anzeigen){echo "<a href=\"".$_SERVER['PHP_SELF']."?limit=".$start."&back=1\">Zurück</a>";}
echo "</td><td align=\"right\">";
if($start+$anzeigen<$max-1){echo "<a href=\"".$SERVER['PHP_SELF']."?limit=".$start."&vor=1\">Weiter</a>";}
echo "</tr></table>";     
  
?> 

Erklärungen stehen im Text, sollte alles klar sein.
Darunter kommt eben das Übliche: </body></html>

3. Zugangsdaten?
Wir ihr seht habe ich in meinem Script die Zugangsdaten immer includet. Damit euer Script klappt, solltet ihr eine Datei mit Namen "config.inc.php" anlegen und so füllen:
php:
1:
2:
3:
4:
5:
6:
<?php
$dbhost "localhost";
$dbuser "Datenbankuser";
$dbpasswd "Datenbankpasswort";
$db "Datenbankname";
?>

Natürlich mit eigenen Angaben füllen (;

Ich wünsche viel Spaß & Erfolg mit dem Gästebuch.
Evtl. kommen bald auch noch Zusatztutorials für Addons wie Smilies, Admin-Kommentar oder einen Captcha-Code

Liebe Grüße, Caro smile

__________________
    Pursuit of Happiness

    People Told Me Slow My Road I’m Screaming Out Fuck That
    Imma Do Just What I Want Lookin’ Ahead No Turnin’ Back

Dieser Beitrag wurde 4 mal editiert, zum letzten Mal von reiterhofmeeresblick: 18.03.2008 17:05.

06.02.2008 18:57 reiterhofmeeresblick ist offline Homepage von reiterhofmeeresblick Beiträge von reiterhofmeeresblick suchen Nehmen Sie reiterhofmeeresblick in Ihre Freundesliste auf
Medic Droid
ima ása


images/avatars/avatar-47465.png

Dabei seit: 12.08.2007

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

super, genau das, was ich suche...
hättest du vll noch ein Beispiel und was mir persönlich helfen würde, wenn du noch drüberschreiben würdest, also über die schritte, wie viele textseiten man braucht bzw ob die einen bestimmten namen haben müssen Augenzwinkern

sonst super tut ^^

__________________
ég veit hann kemur fljótt af því a
ég elska hann

07.02.2008 21:21 Medic Droid ist offline E-Mail an Medic Droid senden Beiträge von Medic Droid suchen Nehmen Sie Medic Droid in Ihre Freundesliste auf
reiterhofmeeresblick
lookin' ahead; no turnin' back


images/avatars/avatar-48580.png

Dabei seit: 29.04.2006

Themenstarter Thema begonnen von reiterhofmeeresblick
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ein Beispiel wäre:
http://carolinwiethoff.de/gb.php
(ohne Smilies & Captcha^^)

Ich fügs oben hinzu, man braucht mit der config.inc.php-Datei nur 2 Seiten.

__________________
    Pursuit of Happiness

    People Told Me Slow My Road I’m Screaming Out Fuck That
    Imma Do Just What I Want Lookin’ Ahead No Turnin’ Back

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von reiterhofmeeresblick: 18.03.2008 14:06.

08.02.2008 14:37 reiterhofmeeresblick ist offline Homepage von reiterhofmeeresblick Beiträge von reiterhofmeeresblick suchen Nehmen Sie reiterhofmeeresblick in Ihre Freundesliste auf
Medic Droid
ima ása


images/avatars/avatar-47465.png

Dabei seit: 12.08.2007

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

ohh super, ich liebe dich *.*^^

bei mir hats geklappt, allerdings würde ich noch
php:
1:
<td>".$ergebnis[$i]['name']." (<a href="mailto:".$ergebnis[$i]['mail']."\"><img src=\"grafiken/mail.gif\" border=\"0\"></a> | <a href=\"".$ergebnis[$i]['hp']."\" target=_blank><img src=\"grafiken/hp.gif\" border=\"0\"></a>) schrieb am ".$ergebnis[$i]['date']." um ".$ergebnis[$i]['time']." Uhr: </td>


in

php:
1:
<td>".$ergebnis[$i]['name']." (<a href="mailto:".$ergebnis[$i]['mail']."\">Mail</a> | <a href=\"".$ergebnis[$i]['hp']."\" target=_blank>Homepage</a>) schrieb am ".$ergebnis[$i]['date']." um ".$ergebnis[$i]['time']." Uhr: </td>

ändern, da ja nicht jeder deine Bildsymbole hat und so^^

und habe ich noch eine Frage, und zwar öffnet sind, wenn ich auf "Eintragen" klicke, eine neue Seite, nur habe ich das jetzt nicht so im Code gefunden.. könntest du mir da helfen, dass er im gleichen farme bleibt?

__________________
ég veit hann kemur fljótt af því a
ég elska hann

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Medic Droid: 09.02.2008 08:22.

08.02.2008 15:05 Medic Droid ist offline E-Mail an Medic Droid senden Beiträge von Medic Droid suchen Nehmen Sie Medic Droid in Ihre Freundesliste auf
reiterhofmeeresblick
lookin' ahead; no turnin' back


images/avatars/avatar-48580.png

Dabei seit: 29.04.2006

Themenstarter Thema begonnen von reiterhofmeeresblick
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ah stimmt^^
Hab ich geändert.

Und zu dem anderen: Ich hab bei dem Weiterleitungslink "target=_top" geschrieben, weil ich selbst ein Div-Lay hatte^^ Ich änder das mal kurz.
Ist unter dem INSERT-Befehl, $meldung = "...."
Muss dann also so heißen:
$meldung="Ihre Angaben wurden aufgenommen und werden im Gästebuch eingetragen. <a href=\"gb.php\" target=_self>Weiter</a>";

__________________
    Pursuit of Happiness

    People Told Me Slow My Road I’m Screaming Out Fuck That
    Imma Do Just What I Want Lookin’ Ahead No Turnin’ Back

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von reiterhofmeeresblick: 18.03.2008 17:06.

18.03.2008 14:08 reiterhofmeeresblick ist offline Homepage von reiterhofmeeresblick Beiträge von reiterhofmeeresblick suchen Nehmen Sie reiterhofmeeresblick in Ihre Freundesliste auf
Maite Maite ist weiblich
Superkartoffel


images/avatars/avatar-47201.jpg

Dabei seit: 11.10.2006
Herkunft: Bayern

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Super Tut!
Aber ihrgent etwas stimmt bei mir nicht. http://sansie.sa.funpic.de/Livius/gb.php%20
Vlg, Maite

__________________

danke mein Wichtel<3
25.03.2008 17:30 Maite ist offline E-Mail an Maite senden Homepage von Maite Beiträge von Maite suchen Nehmen Sie Maite in Ihre Freundesliste auf
reiterhofmeeresblick
lookin' ahead; no turnin' back


images/avatars/avatar-48580.png

Dabei seit: 29.04.2006

Themenstarter Thema begonnen von reiterhofmeeresblick
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hm, warum hast du denn %20 hinten dran gemacht?
Lad es nochmal ohne die Leerstelle da hoch^^
einfach als gb.php

__________________
    Pursuit of Happiness

    People Told Me Slow My Road I’m Screaming Out Fuck That
    Imma Do Just What I Want Lookin’ Ahead No Turnin’ Back

25.03.2008 17:38 reiterhofmeeresblick ist offline Homepage von reiterhofmeeresblick Beiträge von reiterhofmeeresblick suchen Nehmen Sie reiterhofmeeresblick in Ihre Freundesliste auf
kleine-Araberstute kleine-Araberstute ist weiblich
Meow.


images/avatars/avatar-47397.jpg

Dabei seit: 06.07.2005
Herkunft: Köln, woher sonst?

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

also...ähm...bei mir klappt es nicht so ganz xD

http://kerstineiwen.ke.funpic.de/gb.php

__________________

It's true - I am an asshole #nod nod#

» Das exklusive MeinBlockMagazin

Dude, honestly, I'm kiddin' the hell outa ya.

29.03.2008 13:31 kleine-Araberstute ist offline E-Mail an kleine-Araberstute senden Homepage von kleine-Araberstute Beiträge von kleine-Araberstute suchen Nehmen Sie kleine-Araberstute in Ihre Freundesliste auf Fügen Sie kleine-Araberstute in Ihre Kontaktliste ein MSN Passport-Profil von kleine-Araberstute anzeigen
Yellow
Mitglied


images/avatars/avatar-14197.jpg

Dabei seit: 07.02.2005

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Original von kleine-Araberstute
also...ähm...bei mir klappt es nicht so ganz xD

http://kerstineiwen.ke.funpic.de/gb.php


code von gb.php?

__________________

29.03.2008 13:34 Yellow ist offline E-Mail an Yellow senden Beiträge von Yellow suchen Nehmen Sie Yellow in Ihre Freundesliste auf
kleine-Araberstute kleine-Araberstute ist weiblich
Meow.


images/avatars/avatar-47397.jpg

Dabei seit: 06.07.2005
Herkunft: Köln, woher sonst?

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>    
<title>Gästebuch</title>
<link rel="stylesheet" href="style.css"> 
</head>
<body background="grafiken/HG.jpg">
<h1>Gästebuch</h1>
Ich freu mich immer über einen netten Gästebucheintrag.<br />
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="guestbook">
<input type="hidden" name="flag" value="1">
<table>
 <tr>
  <td>Dein Name:</td>
  <td><input type="text" name="absender" value="<?php echo $_POST['absender']; ?>"></td>
 </tr>                                                                                                            
 <tr>
  <td>Deine E-mailadrese:</td> 
  <td><input type="text" name="mail" value="<?php echo $_POST['mail']; ?>"></td>
 </tr>                                                                                                
 <tr>
  <td>URL zu deiner Homepage:</td>
  <td><input type="text" name="hp" value="<?php echo $_POST['hp']; ?>"></td>
 </tr>                                                                                            
 <tr>
  <td>Dein Text:</td>
  <td><textarea name="text" style="height: 150px; width: 429px;"><?php echo $_POST['text']; ?></textarea>
 </td>
 </tr>
</table>
<input type="submit" value="Eintragen">
</form>

<?php
//$_POST['flag']==1, wenn das Formular abgeschickt wurde
if($_POST['flag']==1)
{
//Leerstellen entfernen
$_POST['absender']=trim($_POST['absender']); 
$_POST['mail']=trim($_POST['mail']);
$_POST['hp']=trim($_POST['hp']);
$_POST['text']=trim($_POST['text']);
//evtl. vorhandene HTML-Codes entfernen
$_POST['absender']=strip_tags($_POST['absender']);
$_POST['mail']=strip_tags($_POST['mail']);
$_POST['hp']=strip_tags($_POST['hp']); 
$_POST['hp']=strip_tags($_POST['text']); 
//testen, ob alle Felder ausgefüllt sind
if(!$_POST['absender']){$fehler="Bitte gib Deinen Namen an! <br>";}
if(!$_POST['text']){$fehler="Bitte gib eine Nachricht ein! <br>";}
/*
Wenn Fehler vorhanden, die Textausgabe formatieren und $_POST['flag'] zurücksetzen, damit das Formular erneut angezeigt wird
*/
if($fehler)
{
$meldung="".$fehler."";
unset($_POST['flag']);
}
else //wenn alles ok ist, geht es weiter
{
//Zugangsdaten includen
include ("config.inc.php");
//Zeit und Datum ermitteln
$date = date("d.m.Y");
$time = date("H:i");
//sql-String zusammenbauen
$tabellenname="gb";
$sql="INSERT INTO `gb` ( `id` , `date` , `time` , `name` , `mail` , `hp` , `text` )VALUES ('', '$date', '$time', '".$_POST['absender']."', '".$_POST['mail']."', '".$_POST['hp']."', '".$_POST['text']."');" ;
//Verbindung zur Datenbank
$link = mysql_connect("$dbhost", "$dbuser", "$dbpasswd");
mysql_select_db("$db", $link);
mysql_query($sql, $link);
$meldung="Ihre Angaben wurden aufgenommen und werden im Gästebuch eingetragen. <a href=\"gb.php\" target=_self>Weiter</a>";
}
//Ausgeben der Meldung
echo $meldung;
}//Ende $_POST['flag']==1
if(!$_POST['flag'])
{
?>
<br>
<br>
<br>
<?php    

//Zugangsdaten includen
include ("config.inc.php");   

$anzeigen=5; //Anzahl der Datensätze, die auf einer Seite angezeigt werden sollen
if($_GET['vor']){$start=$_GET['limit']+$anzeigen;}
if($_GET['back']){$start=$_GET['limit']-$anzeigen;}
if(!$start){$start=0;}  

//Auslesen der Einträge
$tabellenname="gb";
$sql="SELECT id, date, time, name, mail, hp, text FROM $tabellenname ORDER BY id DESC LIMIT ".$start.", ".$anzeigen;
$link = mysql_connect("$dbhost", "$dbuser", "$dbpasswd");
mysql_select_db("$db", $link);
$result = mysql_query($sql, $link);
for($i=0;$i<mysql_num_rows($result);$i++)
{
$ergebnis[$i]=mysql_fetch_array($result);
}     
         
//Ermitteln, wie viele Einträge vorliegen
$sql1="SELECT COUNT(*) FROM $tabellenname ";
$result1 = mysql_query($sql1, $link);
$max= mysql_result($result1,0,0); 

//Ausgeben der Einträge   
for($i=0;$i<count($ergebnis);$i++)
{   
$text=nl2br($ergebnis[$i]['text']);

echo ("
<br /><br /><table>
  <tr>
    <td>".$ergebnis[$i]['name']." (<a href=\"mailto:".$ergebnis[$i]['mail']."\">Mail</a> | <a href=\"".$ergebnis[$i]['hp']."\" target=_blank>WWW</a>) schrieb am ".$ergebnis[$i]['date']." um ".$ergebnis[$i]['time']." Uhr: </td>
  </tr>
  <tr>
    <td>".$text."</td>
  </tr></table>");
  }   
  
  //Ausgeben der Links vor und zurück     
  echo "<table border=\"0\" width=\"100%\"><tr><td align=\"left\">";
  if($start>=$anzeigen){echo "<a href=\"".$_SERVER['PHP_SELF']."?limit=".$start."&back=1\">Zurück</a>";}
echo "</td><td align=\"right\">";
if($start+$anzeigen<$max-1){echo "<a href=\"".$SERVER['PHP_SELF']."?limit=".$start."&vor=1\">Weiter</a>";}
echo "</tr></table>";     
  
?> 
</body>
</html>
 


__________________

It's true - I am an asshole #nod nod#

» Das exklusive MeinBlockMagazin

Dude, honestly, I'm kiddin' the hell outa ya.

29.03.2008 13:44 kleine-Araberstute ist offline E-Mail an kleine-Araberstute senden Homepage von kleine-Araberstute Beiträge von kleine-Araberstute suchen Nehmen Sie kleine-Araberstute in Ihre Freundesliste auf Fügen Sie kleine-Araberstute in Ihre Kontaktliste ein MSN Passport-Profil von kleine-Araberstute anzeigen
reiterhofmeeresblick
lookin' ahead; no turnin' back


images/avatars/avatar-48580.png

Dabei seit: 29.04.2006

Themenstarter Thema begonnen von reiterhofmeeresblick
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Du musst den Code genauso aufbauen, wie ich es erklärt habe.
Der Teil, wo in die Datenbank eingetragen wird, kommt ÜBER das HTML-Formular

__________________
    Pursuit of Happiness

    People Told Me Slow My Road I’m Screaming Out Fuck That
    Imma Do Just What I Want Lookin’ Ahead No Turnin’ Back

29.03.2008 15:22 reiterhofmeeresblick ist offline Homepage von reiterhofmeeresblick Beiträge von reiterhofmeeresblick suchen Nehmen Sie reiterhofmeeresblick in Ihre Freundesliste auf
kleine-Araberstute kleine-Araberstute ist weiblich
Meow.


images/avatars/avatar-47397.jpg

Dabei seit: 06.07.2005
Herkunft: Köln, woher sonst?

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

+confused+ (Du weißt, ich bin doof, aber ich hab dich ja mit Samantha bestochen xD)

Aber du sagst doch "Zuerst einmal brauchen wir den Header" ...

__________________

It's true - I am an asshole #nod nod#

» Das exklusive MeinBlockMagazin

Dude, honestly, I'm kiddin' the hell outa ya.

29.03.2008 15:25 kleine-Araberstute ist offline E-Mail an kleine-Araberstute senden Homepage von kleine-Araberstute Beiträge von kleine-Araberstute suchen Nehmen Sie kleine-Araberstute in Ihre Freundesliste auf Fügen Sie kleine-Araberstute in Ihre Kontaktliste ein MSN Passport-Profil von kleine-Araberstute anzeigen
reiterhofmeeresblick
lookin' ahead; no turnin' back


images/avatars/avatar-48580.png

Dabei seit: 29.04.2006

Themenstarter Thema begonnen von reiterhofmeeresblick
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ach ja, Samantha <33 Das wird toll xD

Im 2. Teil steht dann:
Zitat:
2.2. Formular action
So, nun müssen wir natürlich den Eintrag prüfen und sichern.
Ihr schreibt nun (am besten noch über den Doctype) folgendes PHP-Script in euren Code. Die Erklärungen hierzu sind schon im Code (:


__________________
    Pursuit of Happiness

    People Told Me Slow My Road I’m Screaming Out Fuck That
    Imma Do Just What I Want Lookin’ Ahead No Turnin’ Back

29.03.2008 16:20 reiterhofmeeresblick ist offline Homepage von reiterhofmeeresblick Beiträge von reiterhofmeeresblick suchen Nehmen Sie reiterhofmeeresblick in Ihre Freundesliste auf
kleine-Araberstute kleine-Araberstute ist weiblich
Meow.


images/avatars/avatar-47397.jpg

Dabei seit: 06.07.2005
Herkunft: Köln, woher sonst?

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

achso, okay XD ich versuchs nochmal xD

O_O OMFG ES KLAPPT O_O xDDD

__________________

It's true - I am an asshole #nod nod#

» Das exklusive MeinBlockMagazin

Dude, honestly, I'm kiddin' the hell outa ya.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von kleine-Araberstute: 29.03.2008 17:02.

29.03.2008 16:41 kleine-Araberstute ist offline E-Mail an kleine-Araberstute senden Homepage von kleine-Araberstute Beiträge von kleine-Araberstute suchen Nehmen Sie kleine-Araberstute in Ihre Freundesliste auf Fügen Sie kleine-Araberstute in Ihre Kontaktliste ein MSN Passport-Profil von kleine-Araberstute anzeigen
BuTTeRbLuMe BuTTeRbLuMe ist weiblich
Mitglied


images/avatars/avatar-39919.jpg

Dabei seit: 17.09.2005
Herkunft: Stuttgart

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Also bei mir kommt eine Fehlermeldung in Line 145.

Das ist mein Code

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
CREATE TABLE `gb` (
  `id` int(11) NOT NULL auto_increment,
  `date` varchar(255) NOT NULL default '',
  `time` varchar(255) NOT NULL default '',
  `name` varchar(255) NOT NULL default '',
  `mail` varchar(255) NOT NULL default '',
  `hp` varchar(255) NOT NULL default '',
  `text` longtext NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>    
<title>Gästebuch</title>
<link rel="stylesheet" href="style.css"> 
</head>
<body background="grafiken/HG.jpg">
<h1>Gästebuch</h1>
Ich freu mich immer über einen netten Gästebucheintrag.<br />
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="guestbook">
<input type="hidden" name="flag" value="1">
<table>
 <tr>
  <td>Dein Name:</td>
  <td><input type="text" name="absender" value="<?php echo $_POST['absender']; ?>"></td>
 </tr>                                                                                                            
 <tr>
  <td>Deine E-mailadrese:</td> 
  <td><input type="text" name="mail" value="<?php echo $_POST['mail']; ?>"></td>
 </tr>                                                                                                
 <tr>
  <td>URL zu deiner Homepage:</td>
  <td><input type="text" name="hp" value="<?php echo $_POST['hp']; ?>"></td>
 </tr>                                                                                            
 <tr>
  <td>Dein Text:</td>
  <td><textarea name="text" style="height: 150px; width: 429px;"><?php echo $_POST['text']; ?></textarea>
 </td>
 </tr>
</table>
<input type="submit" value="Eintragen">
</form>

<?php
//$_POST['flag']==1, wenn das Formular abgeschickt wurde
if($_POST['flag']==1)
{
//Leerstellen entfernen
$_POST['absender']=trim($_POST['absender']); 
$_POST['mail']=trim($_POST['mail']);
$_POST['hp']=trim($_POST['hp']);
$_POST['text']=trim($_POST['text']);
//evtl. vorhandene HTML-Codes entfernen
$_POST['absender']=strip_tags($_POST['absender']);
$_POST['mail']=strip_tags($_POST['mail']);
$_POST['hp']=strip_tags($_POST['hp']); 
$_POST['hp']=strip_tags($_POST['text']); 
//testen, ob alle Felder ausgefüllt sind
if(!$_POST['absender']){$fehler="Bitte gib Deinen Namen an! <br>";}
if(!$_POST['text']){$fehler="Bitte gib eine Nachricht ein! <br>";}
/*
Wenn Fehler vorhanden, die Textausgabe formatieren und $_POST['flag'] zurücksetzen, damit das Formular erneut angezeigt wird
*/
if($fehler)
{
$meldung="".$fehler."";
unset($_POST['flag']);
}
else //wenn alles ok ist, geht es weiter
{
//Zugangsdaten includen
include ("config.inc.php");
//Zeit und Datum ermitteln
$date = date("d.m.Y");
$time = date("H:i");
//sql-String zusammenbauen
$tabellenname="gb";
$sql="INSERT INTO `gb` ( `id` , `date` , `time` , `name` , `mail` , `hp` , `text` )VALUES ('', '$date', '$time', '".$_POST['absender']."', '".$_POST['mail']."', '".$_POST['hp']."', '".$_POST['text']."');" ;
//Verbindung zur Datenbank
$link = mysql_connect("$dbhost", "$dbuser", "$dbpasswd");
mysql_select_db("$db", $link);
mysql_query($sql, $link);
$meldung="Ihre Angaben wurden aufgenommen und werden im Gästebuch eingetragen. <a href=\"gb.php\" target=_self>Weiter</a>";
}
//Ausgeben der Meldung
echo $meldung;
}//Ende $_POST['flag']==1
if(!$_POST['flag'])
{
?>
<br>
<br>
<br>
<?php    

//Zugangsdaten includen
include ("config.inc.php");   

$anzeigen=5; //Anzahl der Datensätze, die auf einer Seite angezeigt werden sollen
if($_GET['vor']){$start=$_GET['limit']+$anzeigen;}
if($_GET['back']){$start=$_GET['limit']-$anzeigen;}
if(!$start){$start=0;}  

//Auslesen der Einträge
$tabellenname="gb";
$sql="SELECT id, date, time, name, mail, hp, text FROM $tabellenname ORDER BY id DESC LIMIT ".$start.", ".$anzeigen;
$link = mysql_connect("$dbhost", "$dbuser", "$dbpasswd");
mysql_select_db("$db", $link);
$result = mysql_query($sql, $link);
for($i=0;$i<mysql_num_rows($result);$i++)
{
$ergebnis[$i]=mysql_fetch_array($result);
}     
         
//Ermitteln, wie viele Einträge vorliegen
$sql1="SELECT COUNT(*) FROM $tabellenname ";
$result1 = mysql_query($sql1, $link);
$max= mysql_result($result1,0,0); 

//Ausgeben der Einträge   
for($i=0;$i<count($ergebnis);$i++)
{   
$text=nl2br($ergebnis[$i]['text']);

echo ("
<br /><br /><table>
  <tr>
    <td>".$ergebnis[$i]['name']." (<a href=\"mailto:".$ergebnis[$i]['mail']."\">Mail</a> | <a href=\"".$ergebnis[$i]['hp']."\" target=_blank>WWW</a>) schrieb am ".$ergebnis[$i]['date']." um ".$ergebnis[$i]['time']." Uhr: </td>
  </tr>
  <tr>
    <td>".$text."</td>
  </tr></table>");
  }   
  
  //Ausgeben der Links vor und zurück     
  echo "<table border=\"0\" width=\"100%\"><tr><td align=\"left\">";
  if($start>=$anzeigen){echo "<a href=\"".$_SERVER['PHP_SELF']."?limit=".$start."&back=1\">Zurück</a>";}
echo "</td><td align=\"right\">";
if($start+$anzeigen<$max-1){echo "<a href=\"".$SERVER['PHP_SELF']."?limit=".$start."&vor=1\">Weiter</a>";}
echo "</tr></table>";     
  
?> 
</body>
</html>
 


Line 145 ist meinem Script aber die letzte Zeile, was ist denn daran falsch?

__________________

20.04.2008 12:56 BuTTeRbLuMe ist offline E-Mail an BuTTeRbLuMe senden Beiträge von BuTTeRbLuMe suchen Nehmen Sie BuTTeRbLuMe in Ihre Freundesliste auf
reiterhofmeeresblick
lookin' ahead; no turnin' back


images/avatars/avatar-48580.png

Dabei seit: 29.04.2006

Themenstarter Thema begonnen von reiterhofmeeresblick
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Also, du hast ja ganz oben das hier
CREATE TABLE `gb` (
`id` int(11) NOT NULL auto_increment,
`date` varchar(255) NOT NULL default '',
`time` varchar(255) NOT NULL default '',
`name` varchar(255) NOT NULL default '',
`mail` varchar(255) NOT NULL default '',
`hp` varchar(255) NOT NULL default '',
`text` longtext NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM
hingeschrieben..

Das musst du im PHPmyadmin einfügen...
Bei welchem Webspaceanbieter bist du denn?
Außerdem sollte der Code von deiner Zeile 44 bis 90 ÜBER den Doctype...

__________________
    Pursuit of Happiness

    People Told Me Slow My Road I’m Screaming Out Fuck That
    Imma Do Just What I Want Lookin’ Ahead No Turnin’ Back

20.04.2008 13:30 reiterhofmeeresblick ist offline Homepage von reiterhofmeeresblick Beiträge von reiterhofmeeresblick suchen Nehmen Sie reiterhofmeeresblick in Ihre Freundesliste auf
BuTTeRbLuMe BuTTeRbLuMe ist weiblich
Mitglied


images/avatars/avatar-39919.jpg

Dabei seit: 17.09.2005
Herkunft: Stuttgart

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Bin bei Funpic

__________________

20.04.2008 14:08 BuTTeRbLuMe ist offline E-Mail an BuTTeRbLuMe senden Beiträge von BuTTeRbLuMe suchen Nehmen Sie BuTTeRbLuMe in Ihre Freundesliste auf
reiterhofmeeresblick
lookin' ahead; no turnin' back


images/avatars/avatar-48580.png

Dabei seit: 29.04.2006

Themenstarter Thema begonnen von reiterhofmeeresblick
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Dann logg dich mal bei Funpic ein, aktiviere MySQL und rufe dann dein PHPmyadmin auf. (www.phpmyadmin.deinname.de.funpic.de)
Dort gehst du dann rechts in der oberen Leiste auf "SQL" und fügst

CREATE TABLE `gb` (
`id` int(11) NOT NULL auto_increment,
`date` varchar(255) NOT NULL default '',
`time` varchar(255) NOT NULL default '',
`name` varchar(255) NOT NULL default '',
`mail` varchar(255) NOT NULL default '',
`hp` varchar(255) NOT NULL default '',
`text` longtext NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM

ein. Und mehr nicht, dann kannst du dein Gästebuch benutzen

__________________
    Pursuit of Happiness

    People Told Me Slow My Road I’m Screaming Out Fuck That
    Imma Do Just What I Want Lookin’ Ahead No Turnin’ Back

20.04.2008 14:16 reiterhofmeeresblick ist offline Homepage von reiterhofmeeresblick Beiträge von reiterhofmeeresblick suchen Nehmen Sie reiterhofmeeresblick in Ihre Freundesliste auf
BuTTeRbLuMe BuTTeRbLuMe ist weiblich
Mitglied


images/avatars/avatar-39919.jpg

Dabei seit: 17.09.2005
Herkunft: Stuttgart

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Okay, das habe ich gemacht, das Gästebuch steht, danke fröhlich

Jedoch kommen jetzt einige Fehlermeldungen! Muss ich bei $link, §db und $sql was eintragen??

http://butterblume.bu.funpic.de/gb.php

__________________

20.04.2008 14:25 BuTTeRbLuMe ist offline E-Mail an BuTTeRbLuMe senden Beiträge von BuTTeRbLuMe suchen Nehmen Sie BuTTeRbLuMe in Ihre Freundesliste auf
reiterhofmeeresblick
lookin' ahead; no turnin' back


images/avatars/avatar-48580.png

Dabei seit: 29.04.2006

Themenstarter Thema begonnen von reiterhofmeeresblick
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Kannst du jetzt den veränderten Code nochmal posten, damit ich die Lines sehe? ^^

__________________
    Pursuit of Happiness

    People Told Me Slow My Road I’m Screaming Out Fuck That
    Imma Do Just What I Want Lookin’ Ahead No Turnin’ Back

20.04.2008 14:53 reiterhofmeeresblick ist offline Homepage von reiterhofmeeresblick Beiträge von reiterhofmeeresblick suchen Nehmen Sie reiterhofmeeresblick in Ihre Freundesliste auf
Seiten (10): [1] 2 3 nächste » ... letzte » Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Gegen Bilderklau - Das Original » Homepage & Copyright » Homepagehilfe » Tutorials und FAQ » Tut: Ein Gästebuch mit PHP & MySQL scripten

Impressum

Forensoftware: Burning Board, entwickelt von WoltLab GmbH