Tutorials

Gästebuch für Userlogin Script Tutorial

Einloggen
Benutzername:
Passwort:

Passwort vergessen?
Kostenlos
Anmelden
anzeigen
Gästebuch für Userlogin Script
Eine Usergästebuch erweiterung für das Userloginscript von ntmb.de
Dieses GB ist für den internen Bereich gedacht. Jeder User kann einem anderem User ein GB eintrag da lassen ( oder mehrere ) :=)

10125 - zerfleischer - 15.05.2009 16:50 Uhr - Version: 2 - - verlinken als BB-Code


Hab ja lange drum rum geredet, aber werde hier mal nen Tutorial schreiben, was zu Eugen seinem Loginscript passt.
Sprich, es wird erweitert um ein Gästebuch für jeden User.

Wir brauchen 3 Datein:
gb_eintragen.php
gb_schreiben.php
gb_show.php

Datenbank:
CREATE TABLE `gbuch` (
`id` int(100) NOT NULL auto_increment,
`from_id` int(5) NOT NULL default '0',
`to_id` int(5) NOT NULL default '0',
`from_user` varchar(10) collate latin1_german2_ci NOT NULL default '',
`to_user` varchar(10) collate latin1_german2_ci NOT NULL default '',
`text` longtext collate latin1_german2_ci NOT NULL,
`date` text collate latin1_german2_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci AUTO_INCREMENT=2 ;


gb_eintragen.php

Hier wird der Text und der Betreff später eingefügt.


1
2
3
4
5
6
<? 
include "config.php";  
$to_id $_GET[to_id];
$touser $_GET[to_user];
$query=mysql_query("SELECT * FROM user WHERE id='$_SESSION[id]'");
$eintrag=mysql_fetch_array($query);

Ich komme später noch darauf zurück, wo die Werte herkommen. Dies wird in Eugen seinem Script umgeschrieben.

1
2
3
4
5
6
7
8
9
10
11
echo ' Gästebuchnachricht an '.$touser.'
<form action="gb_schreiben.php" method="GET" style="margin:0px"> 

<input type="hidden" name="to_id" value="'.$to_id.'">
<input type="hidden" name="to_user" value="'.$touser.'">
<input type="hidden" name="from_user" value="'.$eintrag[user].'">
 
<center><textarea type="text" name="text" value="" cols="50" rows="10"></textarea><br> 
<input type="submit" value="Senden" style="width:100px"></center>
</form>';
?>


Hier sollte noch alles recht einfach zu verstehen sein.
Ganz einfaches Formular wo man den Betreff und den Text eintragen kann, danach abschickt und dann gleich auf die 2. Datei weitergeleitet wird.

2. Datei
gb_schreiben.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?
include "config.php";
$from_id mysql_real_escape_string($_SESSION[id]);
$from_user mysql_real_escape_string($_GET[from_user]);
$to_id mysql_real_escape_string($_GET[to_id]);
$to_user mysql_real_escape_string($_GET[to_user]);
$text mysql_real_escape_string($_GET[text]);
$date time();


$eintrag "INSERT INTO gbuch (from_id, from_user, to_id, to_user, text, timestamp) VALUES ('$from_id', '$from_user', '$to_id', '$to_user', '$text', $date)";
$eintragen mysql_query($eintrag);

echo 
'<a href="user_hp.php?id='.$to_id.'">Zurück zum Profil.<br><br></a>
<a href="userlist.php">Zurück zur Memberliste.</a>'
;
?>

Hier werden die Werte von der gb_eintragen.php her übergeben und in einfache Variable verändert. Mach ich so damit der Code nicht so lang wird.
Dann sehen wir auch das die Daten in die DB geschrieben werden und danach kann man sich aussuchen wo man hin will. Bei diesem Beispiel zum Profil oder zur Memberliste.
Diese ist wie bei Eugen seinem Script geblieben. Also der Link zur Liste.


So nun müssen wir das Ganze ja noch ausgeben.

gb_show.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
include("config.php");
$result1 mysql_query("SELECT * FROM gbuch WHERE to_id=$_GET[id] ORDER BY id desc");
$anzahl mysql_num_rows($result1); 
echo 
"Es sind $anzahl Gästebucheintragungen vorhanden!<br><br>"
while(
$row mysql_fetch_array($result1)) { 
$zeit date('d.m.Y H:i:s',$row[timestamp]);
$anfang htmlentities($row[text]);
$test nl2br($anfang);
include(
"replace.php");
echo 
'<fieldset style="padding-left:10px;padding-right:10px;padding-bottom:5px;algin:left">
    <legend style="color:black">Von <a href="user_hp.php?id='
.$row[from_id].'">'.$row[from_user].'</a> (Datum: '.$zeit.')</legend>
    '
.$test.'
</fieldset>
<br>'
;

?>


Hier werden alle Beiträge ausgegeben und natürlich steht auch die Anzahl der Einträge mit dabei.


Zu guter letzt muss noch etwas verändert werden.

geh in die Datei
user_hp.php
Dort must du folgendes hinzufügen.
Es sollte aber auch die verbindung zur Datenbank bestehen und dort die Werte ausgelesen werden.
1
2
3
4
<?
echo '<center>Gästebuch<br><a href="gb_eintragen.php?to_id='.$_GET[id].'&to_user='.$eintrag[user].'">Eintrag verfassen </a> <<<>>> <a href="gb_show.php?id='.$_GET[id].'"> Einträge ansehen</a>
<br><br>'
;
?>


Ihr müst aber grundsätzlich die 3 Seiten in eine Session setzten, da es sonst nicht geht da keine ID des schreibenden Users übergeben werden kann.


Hoffe das es leicht verständlich ist und keiner Probleme mit hat. Ist ja auch mein erstes Tutorial.

Das nächste wird dann denke ich nen Admin Bereich für das Script sein.


MfG
Der Fleischi

Mitglieder-Kommentare


#6 von habbolegend
Danke^^
#5 von zerfleischer
"gbuch" <<< tabellenname
id <<<auto_increment und primerschlüssel
from_id <<< int (10)
from_user << varchar (10) die zahl ist die anzahl der buchstaben die in den usernamen auch verwendet wird
to_id <<< in(10)
to_user <<< varchar (10) auch hier die zahl der buchstaben für die user
text <<< text oder longtext
timestamp varchar habe ich hier genommen.

Werde das nachher gleich mal oben ändern das es leichter zu nutzen ist ^^ Smily NR:8

Die Gymnasiasten sind so blöd.... die rechnen mit Buchstaben
#4 von habbolegend
ehm.. das mit der Datenbank?:
1
2
3
4
5
6
7
8
"gbuch"
id
from_id
from_user
to_id
to_user
text
timestamp

Bitte genauer.
#3 von zerfleischer
Ah da habe ich noch was vergessen Smily NR:8

Die replace.php datei ist die wo die BB Codes definiert sind.

Dazu müste ich auch mal ein tutotial machen Smily NR:8

Die Gymnasiasten sind so blöd.... die rechnen mit Buchstaben
#2 von zerfleischer
Smily NR:8 Die hat mich gestochen.
-.-'
Son mist. Aber nun habe ich mein erstes Tut geschrieben Smily NR:8

Die Gymnasiasten sind so blöd.... die rechnen mit Buchstaben
#1 von snk
Hatter fein gemacht^^

Bekommst von mir ein Bienchen *summsumm*
Flamerbedarf zu verkaufen! Ich biete euch Feuer, Fackeln, Brandsätze und Großflächenbrände an. Sendet mir einfach eine PM. Bei Bedarf gibts auch Mistgabeln...

Nur registrierte Mitglieder könnten einen Kommentar schreiben.

Melde dich doch ganz einfach an, es ist kostenlos. :-)