mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 29.03.2024 08:56 Benutzername: Passwort: Auto-Login

Thema: Gästebücher vom 23.03.2004


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Gästebücher
Seite: Zurück  1, 2
Autor Nachricht
XanderCAge
Threadersteller

Dabei seit: 08.03.2004
Ort: Alsdorf
Alter: 39
Geschlecht: Männlich
Verfasst Mi 24.03.2004 18:37
Titel

Antworten mit Zitat Zum Seitenanfang

Ich hab ja drei dateien, die eingabe, die Auswertung und das gästebuch.

Also das sind die zeilen aus dem Gästebuch:

<td> <div style="overflow:auto; width:610px; height:400px;">
<?php include("gbuch.txt");?>
</div></td>

oder benötigst du da das ganze script, also die Auswertung und die eingabe?

So wie ich mir das in meinen Printer Kopf vorstelle müsste man da doch nur
die Ausgabe so schreiben das der das dementsprechent aufteilt oder?[/code]
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Account gelöscht


Ort: -
Alter: -
Verfasst Mi 24.03.2004 18:39
Titel

Antworten mit Zitat Zum Seitenanfang

ja schon *ha ha* aber das erledigt ja nun das script. ich benötige also am besten alle drei dateien.

Lächel
 
Anzeige
Anzeige
XanderCAge
Threadersteller

Dabei seit: 08.03.2004
Ort: Alsdorf
Alter: 39
Geschlecht: Männlich
Verfasst Mi 24.03.2004 18:46
Titel

Antworten mit Zitat Zum Seitenanfang

*Schnief* Ja, hmmm, die Printer was

Ok hier das auswertungsscript:

<?php
$kommentar = stripslashes ($kommentar);
$kommentar = trim ($kommentar);
$nname = stripslashes ($nname);
$nname = trim ($nname);
$hpage = stripslashes ($hpage);
$hpage = trim ($hpage);
$email = stripslashes($email);
$email = trim ($email);
if (empty($kommentar))
{ echo "Sie keinen Kommentar eingegeben.<br>";
echo "Klicken Sie <a href=\"javascript:history.back()\">hier</a>,
um zum Formular zurückzukehren und die Fehler zu
beheben.";
}
else if(!ereg(".+@.+\..+", $email) !empty($email))
{ echo "Die Email-Adresse ist falsch.<br>";
echo "Klicken Sie <a href=\"javascript:history.back()\">hier</a>,
um zum Formular zurückzukehren und die Fehler zu
beheben.";
} else if (empty($nname))
{ echo "Sie haben Ihren Namen nicht eingegeben.<br>";
echo "Klicken Sie <a href=\"javascript:history.back()\">hier</a>,
um zum Formular zurückzukehren und die Fehler zu
beheben.";
}
else {
$i=1;
$gbfile=fopen("gbuch.txt","r");
while (!feof($gbfile))
{ $zeile[$i]=fgets($gbfile,10000);
$i++;
}
fclose($gbfile);
$nname2="Name: ".$nname."<br>";
if (!empty($email))
{ $email2="Email: <a href=\"mailto:".$email."\">".$email."</a><br>";
}
else { $email2=""; }
if (!empty($hpage)) {
$hpage2="Homepage: <a href=\"http://".$hpage."\" target=\"_blank\">".$hpage."</a><br>";
}
else { $hpage2=""; }
$j=1;
$gbfile=fopen("gbuch.txt","w");
fputs ($gbfile,"$nname2$email2$hpage2$kommentar<br><br>");
while ($j<$i)
{ fputs ($gbfile,"$zeile[$j]"); $j++; }
fclose($gbfile);
echo "Die Daten wurden gesendet.";

}
?>

Ach ja und die Eingabe:

<FORM action="gbauswertung.php" method="post"><br>
<strong><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif">Name:
</font> </strong>
<input type="text" name="nname" size="35">
<br>
<br>
<strong><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif">Email:
</font></strong>
<input type="text" name="email" size="35">
<br>
<br>
<strong><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif">Page
: </font> </strong>
<input type="text" name="hpage" size="35">
<br>
<br>
<strong><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif">Kommentar</font></strong>:
<textarea name="kommentar" rows="6" cols="56"></textarea>
<br>
<input type="submit" name="FERT" value="eintragen"><br>
<INPUT type="RESET" value=" löschen "><br>
</FORM>

Das müsste es eigntlich sein *hu hu huu*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Account gelöscht


Ort: -
Alter: -
Verfasst Mi 24.03.2004 18:53
Titel

Antworten mit Zitat Zum Seitenanfang

*kleinlaut* ahso! nee du hast natürlich recht, der hauptdatenbestand muss natürlich so erhalten bleiben. ich würde an der stelle ein zweites script schreiben, welches für die datenausgabe zuständig ist und auch diese navigation a là "zurück - Seite 1 2 3 4 - weiter" generiert.

dat problem ist, das muss ich unumwunden zugeben, ich mach sowas der einfachkeit halber mit üblicherweise mit mysql. bei flatfiles dieser art hast du ja nun keine richtige struktur wie ein startelement und ein endelement, um einen datensatz zu markieren, d.h.: ich würde erst einmal das EINGABE-Script so modifizieren müssen, dass Daten in die .txt-Datei geschrieben werden, die vom AUSGABE-Script wieder einfach gesplittet und einzeln adressiert werden können.

Ich werde mich in einer ruhigen Minute mal hinsetzen und sehen, was man da machen kann, aber vielleicht hat hier ja schon einer Erfahrung mit sowas sammeln können? XML und XSLT wär ja auch ne Lösung.... *grübel* wie auch immer, ist nicht ganz einfach, dein Problem, so wie ich das jetzt sehe...
 
XanderCAge
Threadersteller

Dabei seit: 08.03.2004
Ort: Alsdorf
Alter: 39
Geschlecht: Männlich
Verfasst Mi 24.03.2004 19:08
Titel

Antworten mit Zitat Zum Seitenanfang

Hey kein problem, ihr habt mir ja eh schon super viel helfen können.
Also mach dir mal nich zu viel arbeit, fürs erste kann ich das ja auch so lassen.

War halt nur ne idee das ganze noch en bischen schöner und übersichtlicher zu gestallten.

Und vielleicht hat ja auch noch jemand anderes ne lösung

Auf jeden fall danke das du`s dir mal angesehen hast.

Außerdem steht ja dann jetzt hier quasi ein fertiges, wenn auch einfaches Gästebuch, dass vielleicht jemand brauchen kann. Is ja auch nich schlecht.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Account gelöscht


Ort: -
Alter: -
Verfasst Mi 24.03.2004 20:22
Titel

Antworten mit Zitat Zum Seitenanfang

Hier mal ein kleiner Ansatz:

Code:
<?php
$kommentar = stripslashes ($kommentar);
$kommentar = nl2br(trim($kommentar));
$kommentar = str_replace(\n, , $kommentar);
$nname = stripslashes ($nname);
$nname = trim ($nname);
$nname = str_replace(\n, , $nname);
$hpage = stripslashes ($hpage);
$hpage = trim ($hpage);
$hpage = str_replace(\n, , $hpage);
$email = stripslashes($email);
$email = trim ($email);
$email = str_replace(\n, , $email);
if (empty($kommentar))
{ echo Sie keinen Kommentar eingegeben.<br>;
echo Klicken Sie <a href=\javascript:history.back()\>hier</a>,
um zum Formular zurückzukehren und die Fehler zu
beheben.;
}
else if(!ereg(.+@.+\..+, $email) !empty($email))
{ echo Die Email-Adresse ist falsch.<br>;
echo Klicken Sie <a href=\javascript:history.back()\>hier</a>,
um zum Formular zurückzukehren und die Fehler zu
beheben.;
} else if (empty($nname))
{ echo Sie haben Ihren Namen nicht eingegeben.<br>;
echo Klicken Sie <a href=\javascript:history.back()\>hier</a>,
um zum Formular zurückzukehren und die Fehler zu
beheben.;
}
else {
$i=1;
$gbfile=fopen(gbuch.txt,a);

$nname2=Name: .$nname.<br>;
if (!empty($email))
{ $email2=Email: <a href=\mailto:.$email.\>.$email.</a><br>;
}
else { $email2=; }
if (!empty($hpage)) {
$hpage2=Homepage: <a href=\http://.$hpage.\ target=\_blank\>.$hpage.</a><br>;
}
else { $hpage2=; }

$string=$nname2.$email2.$hpage2.$kommentar.\n;
fwrite ($gbfile, $string);  // meine Änderung: die Schleife mit dem Dateizeiger kannst du dir sparen, da mit fopen($xy, a) direkt ans Ende der Datei gesprungen wird.
                     // Ich baue erst den Komplettstring zusammen und achte darauf, keine System-Zeilenumbrüche innerhalb des Kommentars zu haben. Damit habe ich einen
                     // Separator, der mir hinterher hilft, mit fopen wiederum alle EInträge als einzelne Datensätze in ein Array zu laden.

fclose($gbfile);
echo Die Daten wurden gesendet.;

}
?>


Code:
<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN
http://www.w3.org/TR/html4/loose.dtd>
<html>
<head>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
<title>Unbenanntes Dokument</title>
</head>
<?
$daten=file (gbuch.txt);
foreach ($daten AS $k=>$v) {
echo <b>.$k.</b>:<br/>;
echo $v.<hr/>;
}
// im Array $daten steht, indiziert ab 0, jeweils eine Zeile aus der Textdatei. Ab hier musst du mit Arrayfunktionen wie array_splice o.Ä.
// die von dir gewünschen Abschnitte rausschneiden. Mit count() kannst du die gesammte Anzahl an Datensätzen aus dem Array rauspicken.
?>
<body>
</body>
</html>
 
XanderCAge
Threadersteller

Dabei seit: 08.03.2004
Ort: Alsdorf
Alter: 39
Geschlecht: Männlich
Verfasst Mi 24.03.2004 20:41
Titel

Antworten mit Zitat Zum Seitenanfang

Au weia! Ääää ja das find ich ja echt cool das du da was gemacht hast, aber was ist denn jetzt was?
Und wo muss ich was einfügen? Au weia!
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Account gelöscht


Ort: -
Alter: -
Verfasst Mi 24.03.2004 20:57
Titel

Antworten mit Zitat Zum Seitenanfang

Hmm mal sehen... der erste Codeabschnitt ist deine Datei "gbauswertung.php", die ich (leicht) modifiziert habe. Der Rest bleibt so wie er ist, d.h. du solltest die gbook.txt mal leeren. Das Formular bleibt auch wie es ist.

Der zweite Codeabschnitt ist eine neue Datei, die du anstelle der ".txt"-Datei includen solltest (bzw. per framset oder iframe verlinken kannst). Diese Datei ist aber NICHT fertig, sondern bietet nur einen Ansatz, nachdem du die Ausgabe der Einträge gestalten kannst. Du kannst sie nenne, wie du willst, vorschlagsweise "gbausgabe.php".

"Was ist denn jetzt daran so toll?" magst du jetzt denken? Ganz einfach: Die modifizierte Datei gbauswertung.php speichert die Daten jetzt absatzweise, dh. jeweils ein Eintrag ist durch ein Systemzeilenende "\n" getrennt. Das bietet die Möglichkeit, die Daten einzeln in der neuen Datei "gbausgabe.php" in ein Array zu schreiben und auszuwerten. Darauf kannst du nun aufsetzten, ich kann dir ja nicht die GANZE Arbeit abnehmen *zwinker*
 
 
Ähnliche Themen kostenlose, gute gästebücher für websites
[suche] Lizenzfreie Smileys für Foren und Gästebücher
Neues Thema eröffnen   Neue Antwort erstellen Seite: Zurück  1, 2
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.