BlackBoard » Design, Programmierung & Entwicklung » Programmieren » PHP Gästebuch ohne Datenbank » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen PHP Gästebuch ohne Datenbank
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
ckcstriker ckcstriker ist männlich
Aufsteiger


Dabei seit: 08.04.2003
Beiträge: 88
Herkunft: Hannover

PHP Gästebuch ohne Datenbank       Zum Anfang der Seite springen

ich hab mich in letzter zeit ziemlich intensiv mit PHP beschäftigt!
in den theoretischen teil hab ich mich auch recht gut eingearbeitet
aber bei der praktischen umsetzung hapert es noch.
ich wollte jetzt aus einem buch die aufgabe lösen
ein gästebuch zu schreiben, mit einer seite um einen eintrag zu schreiben,
einer bestätigung, dass der eintrag erfolgreich war, und einer seite auf
der die beiträge angezeigt werden. die ganzen beiträge sollen in einer
datei gespeichert werden. also darf keine datenbank benutzt werden.
doch ich schaffe es einfach nicht das ganze in die praxis umzusetzen und
das prinzip zu verstehen, wie das ganze funktioniert.
vielleicht kann mir da mal einer helfen.

ich hab mir das bisher so vorgestellt:

EINTRAGSFORMULAR --> Eintrag wird in eine Tabell eingefügt und dann
wird die vollständige Tabelle an die Textdatei angehängt (würde heißen
pro eintrag eine tabelle) ---> EINTRAG ERFOLGREICH SEITE --->
GÄSTEBUCHANZEIGE
23.02.2004 21:07 ckcstriker ist offline E-Mail an ckcstriker senden Beiträge von ckcstriker suchen
Mr.Stevens Mr.Stevens ist männlich
BlackBoarder


images/avatars/avatar-35.gif

Dabei seit: 10.01.2002
Beiträge: 873
Herkunft: Lower Oak Creek

      Zum Anfang der Seite springen

Na ja, du bastelst dir wie gesagt eine HTML Datei, packst ein Formular für die Eingabe der gewünschten Daten (Name, eMail, Text) rein und übergibst das per method=GET oder method=POST, je nachdem was dir lieber ist an eine PHP Datei.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
<form action="guestbook.php" method="GET">
     <table class="normal" border="0" cellpadding="3" cellspacing="0">
        <tr>
           <td><b>Name:</b></td>
           <td><input type="text" name="name" value="" size="40" maxlength="40" /></td>
        </tr>
        <tr>
           <td><b>eMail:</b></td>
           <td><input type="text" name="email" value="" size="40" maxlength="40" /></td>
        </tr>
        <tr>
           <td colspan="2"><br /><textarea name="text" cols="48" rows="8"></textarea></td>
        </tr>
        <tr>
           <td colspan="2"><br /><input type="submit" name="entry" value="Eintragen" /></td>
           <td>&nbsp;</td>
        </tr>
   </table>
</form>



Der PHP Datei musst du halt dann klarmachen, dass sie eine Textdatei öffnen und die übergebenen Werte schreiben soll.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
<?
{
  $fp = fopen("guestbook.txt","a+");
  fputs ($fp,$name." ".$email."<br><hr width=400 align=left>");
  fputs ($fp,$text."\n");
  fputs ($fp,"<hr width=400 align=left>");
  fputs ($fp,"<br><br>");
  fclose($fp);
  $msg = 'Dein Eintrag wurde gespeichert!<br>';
}

$fp = fopen("guestbook.txt","a+");

while (!feof($fp))
{
  echo nl2br(fgets($fp));
}
fclose($fp);

echo $msg;

?>


Allerdings hat der Code hier den Nachteil, dass der Eintrag hier immer an das Ende der Textdatei gesetzt wird und das soll ja bei nem Gästebuch eigentlich nicht so sein.
Man müsste also die "Datenbank", in deinem Fall ein TXT File zuerst öffnen, dann auslesen, den neuen Eintrag schreiben und das Ausgelesene wieder anhängen. Dann würds passen. Wie man das allerdings anstellt weis ich noch nicht, da ich mich selber erst seit ein paar tagen mit PHP beschäftige.

Also werter Anfängerkollege, viel Erfolg

__________________
Jede lumpige Grippewelle erreicht doch heutzutage
mehr Leute als der Humor von Karl Valentin.
24.02.2004 11:05 Mr.Stevens ist offline E-Mail an Mr.Stevens senden Homepage von Mr.Stevens Beiträge von Mr.Stevens suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

      Zum Anfang der Seite springen

schaut mal bei www.php.net unter
fgets, fputs, fread, fwrite. (einfach and die URL mit einem / anhängen)
Dort hat es auch jeweils Codebeispiele.

Devil

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
24.02.2004 12:27 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
LX LX ist männlich
El Comandante en Jefe


images/avatars/avatar-2290.gif

Dabei seit: 25.11.2001
Beiträge: 5.372
Herkunft: Berliner Bronx

Achtung       Zum Anfang der Seite springen

Die einzelnen Einträge könntest du in Arrays ablegen, und diese dann mittels serialize() umwandeln, um sie in einer Textdatei ablegen zu können. Beim Auslesen erfolgt natürlich die Rückumwandlung analog mit unserialize().

__________________
JS-Games.de - Misled Scripting Skills Gone Mad | Meine Filmkritiken | Urban Photography
Kommt mal in den IRC-Channel: irc.eu.freenode.net | Port 6667 | #blackboard

"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett

24.02.2004 13:52 LX ist offline E-Mail an LX senden Homepage von LX Beiträge von LX suchen
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
BlackBoard » Design, Programmierung & Entwicklung » Programmieren » PHP Gästebuch ohne Datenbank

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH