Fragen zu einem php-script (Gästebuch)

nabend,

ich hab hier ma vor geraumer zeit nen code bekommen über wer-weiss-was.de, womit ich ein gästebuch habe…queellcode wie folgt:

<?php $filename = 'comments.txt';
$script = 'guests.php'; $form = 'Name:Beitrag:
';

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

$pglen = 6; $page = isset( $_GET['p']) ? $_GET['p'] : 1;
print make_header("Guests");
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 '

Hallo Marcus,

ich hoffe ich kann Dir ein wenig weiterhelfen.
In PHP bin ich kein Held, aber ich versuche mein Bestes.

das gb soll als solches bestehen, nur sollen die einträge
unter dem formular weg und auf eine andere seperate seite
angezeigt werden, sprich include ‚comments.txt‘ ?>
…nur find ich einfach nich den part, wo in der quelldatei
(s.o.) der datei gesagt wird, include oder print etc… kann
mir einer helfen?!

Ich versuchs:

$form = ’

Da steht folgendes:

action = " … "

Zwischen die " " schreibst Du zum Beispiel die Seite oder einfach wie geschehen eine Variable, an die die Formulardaten gesendet werden sollen. Jetzt steht hier in Deinem Falle $script darin.

Jetzt schaust Du im Quellcode nach, Du entdeckst folgendes:

$script = ‚guests.php‘;

Daraus erfährst Du, dass die Formulardaten an die Seite „guests.php“ gesendet werden. Diese Seite verarbeitet aber nur die Formulardaten, sie zeigt sie nicht automatisch an. Dazu müsstest Du eine Ausgabe einfügen. Es wäre interessant, den Code der Seite guests.php zu erfahren.

Damit Du weißt, was die Ausgabe ist: alles, ab dem ersten Trennstrich.
Leider muss ich sagen: Alle Angaben ohne Gewähr.

Grundsätzlich die Frage: Warum willst Du in einer Textdatei speichern? Klar, geht auch - aber Datenbank ist doch auch schön.

Liebe Grüße,
Sandy

Daraus erfährst Du, dass die Formulardaten an die Seite
„guests.php“ gesendet werden. Diese Seite verarbeitet aber nur
die Formulardaten, sie zeigt sie nicht automatisch an. Dazu
müsstest Du eine Ausgabe einfügen. Es wäre interessant, den
Code der Seite guests.php zu erfahren.

morgen,

guest.php is die gleiche seite, sprich: der verlinkt sich auf sich selbst…der code von meiner anfrage is der komplette code der guests.php-seite :wink:

also meinst du dass alles zwischen den strichen weg kann und das dann in eine eigene seite?!..würd doch gar net gehen…meiner meinung nach…ach und ich wollte eine txt datei…weil ich mir nich die mühe machen wollte für das kleine gästebuch extra ne datenbank anzulegen.

Hmm… wenn Du magst kann ich Dir ein Codebeispiel für eine Textdatei schicken. Ich hab da auch schon mal mit experimentiert… funktioniert sogar :wink:

Frohe Weihnachten!

Liebe Grüße,
Sandy

tachen,

also so wie ich das eig haben wollte?! dass man mit 2 seiten arbeitet und einer txt-datei!? auf der einen kommt nur das formular und auf der anderen seite wird chronologisch die sachen aus der txt-datein gelesen!?

wäre super :wink:

jop, dir auch frohe weihnachten, obowhl ja erst morgen :wink:

grüße,
marcus

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo!

Hmm… wenn Du magst kann ich Dir ein Codebeispiel für eine
Textdatei schicken. Ich hab da auch schon mal mit
experimentiert… funktioniert sogar :wink:

also so wie ich das eig haben wollte?! dass man mit 2 seiten
arbeitet und einer txt-datei!? auf der einen kommt nur das
formular und auf der anderen seite wird chronologisch die
sachen aus der txt-datein gelesen!?

Ja :wink:

Eine Seite wo ein Eingabeformular ist, eine zum Verarbeiten der Daten (im Grunde überflüssig, könnte man in ein und derselben Datei machen) und eine andere zum Ausgeben.

Was noch verbesserungswürdig ist, die Eingabe einer URL bzw. dessen Umwandlung in einen Link. Mit http:// vorweg gehts, aber ohne noch nicht.

Im Übrigen: Du hast Post :wink:

Liebe Grüße,
Sandy

Ja :wink:

Eine Seite wo ein Eingabeformular ist, eine zum Verarbeiten
der Daten (im Grunde überflüssig, könnte man in ein und
derselben Datei machen) und eine andere zum Ausgeben.

Was noch verbesserungswürdig ist, die Eingabe einer URL bzw.
dessen Umwandlung in einen Link. Mit http:// vorweg gehts,
aber ohne noch nicht.

Im Übrigen: Du hast Post :wink:

Liebe Grüße,
Sandy

sry…ich kapier die mail nich…steht für mich nur kaudawelsch drinn :smiley:…also ich hab nur ne datei (ohne endung) mit namen gaestebuch, die nen halben kilobyte groß is…?! *bahnhof*

marcus

sry…ich kapier die mail nich…steht für mich nur kaudawelsch
drinn :smiley:…also ich hab nur ne datei (ohne endung) mit namen
gaestebuch, die nen halben kilobyte groß is…?! *bahnhof*

marcus

Da hat wohl irgendwas nicht geklappt!
Dann schicke ich die Dateien nochmal (einzeln). Ich habe vorhen den ganzen Ordner reingezogen, das war wohl der Fehler.

Liebe Grüße,
Sandy

Da hat wohl irgendwas nicht geklappt!
Dann schicke ich die Dateien nochmal (einzeln). Ich habe
vorhen den ganzen Ordner reingezogen, das war wohl der Fehler.

Liebe Grüße,
Sandy

hmmm…also die dateien hab ich…aber da müsste noch iwas falsch sein in der auswertung.php …er meint nämlich immer kommentarfeld sei leer, obwohl dem nich so is…*dusel*…