kostenloser Webspace werbefrei: lima-city


Gästebuch: Einträge hinten anhängen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    h2o

    h2o hat kostenlosen Webspace.

    Ich versuche gerade selber ein G?stebuch zu erstellen.
    Bin allerdings auf dem Gebiet PHP noch Neuling.

    Hier ist mein Script:

    <?php
    if (isset($absenden)){
    $datei = fopen("eintraege.txt","a");
    $eintrag = ereg_replace("\n","<br>",$eintrag);
    $eintrag = stripslashes($eintrag);
    $daten = "<br>";
    if ($email != "") {
    $daten .= "<a href=\"mailto:$email\">$name</a> ";
    } else {
    $daten .= "$name ";
    }
    $timestamp = time();
    $datum = date("d.m.Y - H:i", $timestamp);
    $daten .= " $datum";
    if ($url != "" and $url != "http://") {
    $daten .= "<div>Homepage: <a href=\"$url\" target=\"_blank\">$url</a></div>";
    }
    $daten .= "<div >$eintrag</div>";
    fwrite($datei,"\n".$daten);
    fclose($datei);
    }
    if (file_exists("eintraege.txt")){
    $datei = fopen("eintraege.txt","r");
    $daten = fread($datei,filesize("eintraege.txt"));
    print $daten;
    }
    ?>

    Wie schaffe ich es nun, dass neue Eintr?ge nicht am Ende sondern am Anfang der Seite angezeigt werden?
    Momentan werden bei dem Script neue Eintr?ge immer hinten dran geh?ngt.
    Bitte gebt mir keine Links mit fertigen G?steb?chern.
    Ich w?rde das lieber selber machen und so eben dazu lernen.

    Vielen Dank, H2O
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. djfun

    Co-Admin Kostenloser Webspace von djfun

    djfun hat kostenlosen Webspace.

    ich denke mal du musst bei:
    fwrite($datei,"\n".$daten);

    $datei und $daten vertauschen
  4. n*******t

    ganz ehrlich: es geht zwar, aber mach dein g?stebuch mit mysql.
    warum soll man sich mit textdateien und so rumqu?len, wenns auch einfach mit mysql geht..
    ich glaub das problem was du hast kannst du irgendwie mit ner schleife oder so l?sen, aber wie man das genau macht wei? ich auch nicht...
  5. Autor dieses Themas

    h2o

    h2o hat kostenlosen Webspace.


    $datei und $daten vertauschen


    Dann steht da:
    fwrite($daten,"\n".$datei);

    Funzt aber nicht:
    "Warning: fwrite(): supplied argument is not a valid stream resource in /home/webpages/lima-city/h2o/html/gaestebuch.php on line 36"

    Was muss ich ?ndern?

    Und wie funzt so ein G?stebuch bei einer Datenbank?

    H2O
  6. djfun

    Co-Admin Kostenloser Webspace von djfun

    djfun hat kostenlosen Webspace.

    tschuldigung, war mein fehler

    du musst die datei mit dem mode w+ ?ffnen, dann den inhalt auslesen und dann des was davor in de datei war, und dann des neue reinschreiben.
  7. s****a

    Ist doch klar. Du musst die Datei neu anlegen. Den neue Eintrag zuerst reinschreiben und die Alte Datei hinterher schreiben. Eine andere M?glichkeit sehe ich nicht.
  8. hatte das problem auch mal und habs folgenderma?en gel??t:

    $readfile=file("textdatei");
    $data_add = "neue Daten" ### Der Eintrag (am besten als array)
    for ($i=0;$i<=(count($readfile));$i++) {
    $inhalt=$inhalt.$readfile[$i];}
    $inhalt="$data_add
    ".$inhalt; ### das muss in der n?chsten zeile stehen, wegen zeilenumbruch
    $datei = fopen("textdatei", "w+");
    fputs($datei, $inhalt);
    fclose ($datei);


    kann auch seind as man bei dem zeilenunmbruch einfach \n schreiiben kann aber so funst es auf jdene fall!

    damit stehen immer die neusten beitr?ge oben, aber ich rate dir lern mysql...is ganz easy und dann schreibt man einfach order by id desc und fertig;)


    EDIT: noch ein tip...schreib den beitrag als array in die datei! das kannste mit dem befehl implode() machen! dann werden die array werte durch ein zeichen deiner wahl getrennt!

    beim auslesen kannste das wieder r?ckg?ngig machen mit explode()
  9. Autor dieses Themas

    h2o

    h2o hat kostenlosen Webspace.


    du musst die datei mit dem mode w+ ?ffnen, dann den inhalt auslesen und dann des was davor in de datei war, und dann des neue reinschreiben.


    Bin leider noch Neuling.
    Habe sowas in der Art auch schon versucht, es aber nicht hinbekommen.
    Also zum Auslesen fgets, oder?

    Und welche Vorteile bringt mySQL?

    H2O
  10. du kannst deine daten viel besser verwalten, auf alle daten zugreifen durch ids usw...
    in textdateien hat man sp?ter nur noch durcheinander!

    f?r ein gb script kommt man bei mysql denk ich mal mit 10 befehlen hin!
    is echt einfach! und die probleme die du hier hast mit dem gb kommen auch nicht vor!
  11. Autor dieses Themas

    h2o

    h2o hat kostenlosen Webspace.

    K?nntest du da vielleicht mal ein Script nennen?

    H2O
  12. hast du denn mal ausprobiert was ich dir oben geschrieben habe?
  13. Autor dieses Themas

    h2o

    h2o hat kostenlosen Webspace.

    Wie sieht denn das ganze Script aus?
    Wo muss ich das einf?gen?

    Sorry, aber PHP ist eben f?r mich neu.

    H2O
  14. <?php
    if (isset($absenden)){
    $readfile=file("eintraege.txt");
    $eintrag = ereg_replace("\n","<br>",$eintrag);
    $eintrag = stripslashes($eintrag);
    if ($email != "") {
    $name= "<a href=\"mailto:$email\">$name</a> ";
    } else {
    $name= "$name ";
    }
    $timestamp = time();
    $datum = date("d.m.Y - H:i", $timestamp);

    if ($url != "" and $url != "http://") {
    $link = "<div>Homepage: <a href=\"$url\" target=\"_blank\">$url</a></div>";
    }

    $eintrag = array($name, $datum, $link, $eintrag);

    $data_add = implode("?", $eintrag);
    for ($i=0;$i<=(count($readfile));$i++) {
    $inhalt=$inhalt.$readfile[$i];}
    $inhalt="$data_add
    ".$inhalt; ### das muss in der n?chsten zeile stehen, wegen zeilenumbruch
    $datei = fopen("textdatei", "w+");
    fputs($datei, $inhalt);
    fclose ($datei);


    if (file_exists("eintraege.txt")){
    $datei = fopen("eintraege.txt","r");
    $daten = fread($datei,filesize("eintraege.txt"));
    print $daten;
    }
    ?>


    so m?sste es gehen, habs aber nich getestet..sag einfach bescheid wenn fehlermeldungen kommen...
  15. Autor dieses Themas

    h2o

    h2o hat kostenlosen Webspace.

    Gibt leider echt eine Fehlermeldung:
    "Parse error: parse error in /home/webpages/lima-city/h2o/html/gaestebuch.php on line 59"

    H2O
  16. kannst du die line mal posten?
  17. t*****b

    M?sste so funktionieren:


    <?php

    $file = "eintreage.txt";

    if (isset($absenden)){
    $readfile=file($file);
    $eintrag = ereg_replace("\n","<br>",$eintrag);
    $eintrag = stripslashes($eintrag);
    if ($email != "") {
    $name= "<a href=\"mailto:$email\">$name</a> ";
    } else {
    $name= "$name ";
    }
    $timestamp = time();
    $datum = date("d.m.Y - H:i", $timestamp);

    if ($url != "" and $url != "http://") {
    $link = "<div>Homepage: <a href=\"$url\" target=\"_blank\">$url</a></div>";
    }

    $eintrag = array($name, $datum, $link, $eintrag);

    $data_add = implode("?", $eintrag);
    for ($i=0;$i<=(count($readfile));$i++) {
    $inhalt=$inhalt.$readfile[$i];}
    $inhalt= $data_add."\n".$inhalt;
    $datei = fopen($file, "w+");
    fputs($datei, $inhalt);
    fclose ($datei);


    if (file_exists($file)){
    $datei = fopen($file,"r");
    $daten = fread($datei,filesize($file));
    print $daten;
    }
    ?>


    W?rde ich aber mit einer Datenbank machen, ist nicht so umst?ndlich.
  18. Autor dieses Themas

    h2o

    h2o hat kostenlosen Webspace.

    @julian182:
    Das ist diese Zeile:

    "</html>" Was hat das zu bedeuten?

    @trueweb:
    Auch da tritt ein Fehler auf.
    Die Zeile ist wieder die letzte (auch "</html>").

    Verstehe nicht warum das passiert.
    Jemand von euch?

    H2O

    // edit
    Ich habe mir jetzt mal eine Datenbank ersteigert.
    K?nnte mir jetzt vielleicht mal jemand den Code sagen, wie der mit Mysql aussieht?
  19. m****w

    Schau mal in den Tutorials nach, oder kauf dir ein buch... alles erkl?ren, und scripten k?nnen wir nicht... -.-

    zu dem problem: mach vor "?>" ein "{" und dr?cke enter
  20. Autor dieses Themas

    h2o

    h2o hat kostenlosen Webspace.

    Ja danke.
    Wenn ich "}" hinschreibe, dann tritt kein Fehler mehr auf, allerdings habe ich das Problem das keine Eintr?ge mehr angef?gt werden.
    Aber naja. Dann werde ich das wohl selber versuchen zu l?sen.
    Sorry. Ich war wohl wirklich etwas zu viel erwartend.

    H2O
  21. p******k

    Auf http://old.quellcodes.de gibt es einige Tutorials zu MySQL. EInfach mal schauen. Durch diese Tuts habe ich ?brigens auch MySQL gelernt :D
  22. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!