Gästebuch aufteilen

Hallo,

ich habe folgendes Problem:
Ich habe ein von nem Freund gemachtes einfaches Gästebuch geschrieben bekommen mit php, Quelltext ist wie folgt:

if(isset($_POST[‚submit‘]))
{
$filename = ‚comments.txt‘;
$name = $_POST[‚name‘];
$name = stripslashes($name);
$name = strip_tags($name);
$time = date(„j.n.Y H:i:s“);
$message = $_POST[‚message‘];
$message = stripslashes($message);
$message = strip_tags($message, '’);
$comment = „Von: „$name“ am $time:
$message \n“;
$handle = fopen($filename, ‚a‘);
fwrite($handle, $comment);
fclose($handle);
echo „\n“;
} else {
echo „“;
echo „Name: \n“;
echo „
\n“;
echo „Eintrag:\n“;
echo „
\n“;
echo „\n“;
echo „
\n“;
echo „\n“;
echo „\n“;
echo „\n“;
echo " \n";
echo „“;
include ‚comments.txt‘;
echo „\n“;
}
?>


so, aber ich glaube, dass was ich machen wollte, kann ich mit meinm script vergessen: ich wollte, damit die seite nich vollgeknallt ist mit meinem Gästebuch, dass er auch gleichzeit ab einer bestimmten Anzahl an Einträgen die Einträge in verschiedenen seiten aufteilt, die man später dann per link („next“ oder so) einsehen kann…sieht so aus, als würde es mit meinem script nich gehen, muss zu dem noch sagen, dass ich keinerlei erfahrung habe mit php…würde mich aber dennoch für eine lösung freuen…

marcus

Hallo,

ich habe folgendes Problem:
Ich habe ein von nem Freund gemachtes einfaches Gästebuch
geschrieben bekommen mit php, Quelltext ist wie folgt:

Source gelöscht :

so, aber ich glaube, dass was ich machen wollte, kann ich mit
meinm script vergessen: ich wollte, damit die seite nich
vollgeknallt ist mit meinem Gästebuch, dass er auch gleichzeit
ab einer bestimmten Anzahl an Einträgen die Einträge in
verschiedenen seiten aufteilt, die man später dann per link
(„next“ oder so) einsehen kann…sieht so aus, als würde es
mit meinem script nich gehen, muss zu dem noch sagen, dass ich
keinerlei erfahrung habe mit php…würde mich aber dennoch für
eine lösung freuen…

marcus

Hallo Marcus,

tatsächlich werden alle Kommentare ziemlich simpel aus der Textdatei in einem Stück rausgeschrieben (in der Hoffnung, dass Dir nicht irgendeiner in das Gästebuch schreibt). Die Lösung ist relativ einfach: Hat Deine HP eine MySQL-Datenbank? Hier gibt es verschiedeneste Fertigscripte (z.B. http://www.proxy2.de/). Ansonsten führt Dich Google auch zu nicht-MySQL Lösungen wie z.B. http://www.onlinetools.org/tools/easyboard.php.

MfG Georg V.

Hallo Marcus,

ich habe folgendes Problem:
Ich habe ein von nem Freund gemachtes einfaches Gästebuch
geschrieben bekommen mit php, Quelltext ist wie folgt:

if(isset($_POST[‚submit‘]))

so, aber ich glaube, dass was ich machen wollte, kann ich mit
meinem script vergessen: ich wollte, damit die seite nich
vollgeknallt ist mit meinem Gästebuch, dass er auch gleichzeit
ab einer bestimmten Anzahl an Einträgen die Einträge in
verschiedenen seiten aufteilt, die man später dann per link
(„next“ oder so) einsehen kann…sieht so aus, als würde es
mit meinem script nich gehen, muss zu dem noch sagen, dass ich
keinerlei erfahrung habe mit php…würde mich aber dennoch für
eine lösung freuen…

Ich freu mich auch über sowas, da ich ja PHP
gelegentlich lernen will, da hab ich mich
gleich mal an einem (minimalen) guestbook
(guests.php) versucht (Wochendende sei dank).

Ich hab das so gemacht, dass man das Aussehen
über ein .css-File steuern kann, welches ich
als Startbeispiel als Antwortposting noch
anhänge (‚guests.css‘ im selben Verzeichnis).

Leider hab ichs nicht mit 50 Zeilen geschafft
(wie ich dachte) aber 60 geht ja auch noch …
Wie gesagtm ich lerne das gerade und freue
mich zu weiterführenden Hinweisen zu PHP.
Hier ==> guests.php <?php $filename = ‚comments.txt‘;
$script = ‚guests.php‘;
$form = ‚Name:Beitrag: 
 ‚;
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /

$pglen = 6; $page = isset( $_GET[‚p‘]) ? $_GET[‚p‘] : 1;
print make_header(„Gästebuch“);
if( ! isset( $_POST[‚submit‘] ) ) {
function mydecode($s) { return chr(hexdec($s)); }
$rg = "/\s
(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)[\s\r\n]+/";
preg_match_all($rg, file_get_contents($filename), $tm, PREG_SET_ORDER);
$offset = ($page - 1) * $pglen;
print $form;
foreach( array_slice( array_reverse($tm), $offset, $pglen) as $record ) {
$name = implode(‘‘, array_map(‚mydecode‘, str_split($record[4], 2)));
$text = implode(’’, array_map(‚mydecode‘, str_split($record[5], 2)));
print „$name ($record[3]) schrieb "
. „am $record[1] ($record[2])“
. nl2br(htmlentities($text,ENT_QUOTES)) . „\n“;
}
print make_pagelinks( $page, $pglen, count($tm), „$script?p=“ );
}
else {
function myencode($n) { return sprintf(“%02X",ord($n)); }
$name = implode(’’, array_map(‚myencode‘, str_split($_POST[‚name‘])));
$text = implode(’’, array_map(‚myencode‘, str_split($_POST[‚text‘])));
$time = date(„Y-m-d H:i:s“); $client = $_SERVER[‚REMOTE_ADDR‘];
if( strlen($name) > 1 && strlen($text) > 1 ) {
$fh = fopen($filename, ‚a‘) or die(„Dateifehler $filename !“);
fwrite($fh, „$time $client $name $text\n“);
fclose($fh);
}
print ‚‘;
}
print ’

beispiel: guests.css
* {
color:#333333;
font-size:95%;
}
#wrap {
border:#FFFF66 dashed 1px;
background-color:#FFFFCC;
width:666px;
margin: 0 auto;
text-align: left;
}
.formtable tr td {
font-size:110%;
color:#003399;
}
.entry {
border:#666666 dashed 1px;
background-color::white;
padding:10px; margin:2px;
width:100%;
}
.entry tr th {
color:#990033;
}
.entry tr td {
color:#006666;
}