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 ’