SUCHE

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • SUCHE

    hi all

    ich suche ein gbook das einen übersichtlichen code hatt ohne schnickschnack und so ...

    ich will das mal anschauen und villeich begreiffen wie das funktioniert ...

    es sollte wenn möglich die verschiedenen beiträge in txt dateien ablegen oder ähnlich ...

    eine edit funktion währe auch ganz nett ..

    aber eben kein übermässiges designe das macht für mich alles nur unverstänntlich sollte wirklich nur der grundsatz sein ..


    thx greets blume
    für wallpaper: blumenbeet.com

  • #2
    Primitivste Version eines Guestbook, Daten werden nur in einem Textfile abgelegt.
    Code:
    <center>
    <h1>Wilkommen</h1>
    <h2>Deine Nachricht</h2>
    <form action="<? echo $PHP_SELF ?>" method="POST">
    <textarea Cols=50 rows=5 name="msg" wrap=virtual></textarea><br>
    <input type="submit" value="senden">
    </form>
    <?
    if(isset($msg)) {
    	$fp = fopen("guestbook.txt","a");
    	fputs($fp,nl2br($msg)."<hr width=400>");
    	fclose($fp);
    }
    ?>
    <br>
    <h3>Was andere bereits hier geschrieben haben</h3>
    <hr width=400>
    <? @readfile("guestbook.txt")?>
    </center>

    Kommentar


    • #3
      Eine etwas komfortableres mit Datenbank:
      Quelle: "PHP Webserver-Programmierung unter Windows und Linux, Grundlagen und Lösungen" von Jörg Krause, HANSER Verlag, ISBN 3-446-21301-5
      Code:
      <HTML>
      <HEAD>
      <TITLE>Guestbook Example</TITLE>
      </HEAD>
      <BODY>
      <?
      // Datenbank verbinden
      mysql_connect("localhost", "username", "password");      
      
      // Datenbank auswählen 
      mysql_select_db("guestbook") or die("Fehler beim Öffnen der Datenbank");
      
      // if the query string (guestbook.php3?stuff) is add, then present the form to add entries    
      if  ($argv[0]  ==    "add"):      
          ?>    
          <P>Bitte teilen Sie uns hier Ihre Meinung mit.    
          <P><FORM  NAME="guestbook"  ACTION="<?echo $PHP_SELF?>"  METHOD=POST>    
          <INPUT  TYPE=hidden  NAME=cmd  VALUE=send>    
          Ihr  Name:  <INPUT  TYPE=text  NAME=name>    
          <BR>Ihre E-mail Adresse:  <INPUT  TYPE=text  NAME=email>    
          <BR>Ihre Homepage:  <INPUT  TYPE=text  NAME=url>   
          <BR>Ihr Job:  <INPUT  TYPE=text  NAME=job>    
          <BR>Ihr Wohnort:  <INPUT  TYPE=text  NAME=location>    
          <BR>Kommentare:    
          <BR><TEXTAREA  NAME=comments  COLS=60  ROWS=6></TEXTAREA>    
          <CENTER><INPUT  TYPE=submit  VALUE=Submit><INPUT  TYPE=reset  VALUE=Clear></CENTER>    
          </FORM>    
      <?    
      // if the query string is view, the fetch the guestbook entries    
      elseif  ($argv[0]  ==    "view"):      
          echo    "<H2>Anzeige der Eintr&auml;ge</H2>";   
      
      // get stuff from the database    
          $result  =  mysql_query("SELECT name, email, url, job, location, comments FROM guestbook");      
      
      // fetch the rows one at atime, and then echo the data to the page    
          while  ($row  =  mysql_fetch_row($result))  {      
             echo "<HR>";    
             echo "<B>Name:</B>  $row[0]";    
             echo "<BR><B>E-mail:</B>  <A  HREF=\"mailto:$row[1]\">$row[1]</A>";    
             echo "<BR><B>Homepage:</B>  <A  HREF=\"$row[2]\">$row[2]</A>";   
             echo "<BR><B>Job:</B>  $row[3]";    
             echo "<BR><B>Aus:</B>  $row[4]";    
             echo "<BR><B>Kommentar:</B>";    
             echo "<BR>$row[5]";   
          }   
      
      // if we're submitting a guestbook entry    
      elseif  (isset($cmd)  &&  $cmd  == "send"):     
      
      // open a pipe to the mail server, andsend a copy to the admins,  
      // the mail() function could also have been used   
          $fd  =  popen  ($MP,    "w");     
          fputs  ($fd,    "To:  $mail\n");   
          fputs  ($fd,    "Subject:  Guestbook  Addition\n");   
          fputs  ($fd,    "$name  ($email)  has  added  the  following  to  the  guestbook\n");   
          fputs  ($fd,    "Web  Page:  $url\n");   
          fputs  ($fd,    "Occupation:  $job\n");   
          fputs  ($fd,    "Location:  $location\n");   
          fputs  ($fd,    "$comments\n");   
          pclose  ($fd);   
      
          $comments  =  addslashes("$comments");    
          mysql_query("INSERT into guestbook (name, email, url, job, location, comments) VALUES   
      			   ('$name', '$email', '$url', '$job', '$location', '$comments')");      
      ?>
      <P>Danke! Wir werden Ihren Beitrag ber&uuml;cksichtigen</P>
      <?    
      else:      
      // lastly, we must be at the main page. Get the number of entries in the guestbook  
      //so we can tell the visitor how many there are    
          $result = mysql_query(   "select  max(id)  from  guestbook");    
          $row = mysql_fetch_row($result);    
          $num = $row[0];    
          if ($num == "") {   
      	   $entry = "Hier sind zur Zeit keine Beitr&auml;ge";   
          }
          elseif ($num == "1"){   
      		$entry = "Hier ist zur Zeit ein Betrag";   
          }
          else {   
              $entry = "Hier sind zur Zeit $num Beitr&auml;ge";   
          }   
          echo    "<P>Willkommen bei unserem G&auml;stebuch. Es sind $entry  Eintr&auml;ge im G&auml;stebuch.";    
          echo    "<H4><A  HREF=\"$PHP_SELF?add\">Einen Beitrag hinzuf&uuml;gen</A></H4>";    
          echo    "<H4><A  HREF=\"$PHP_SELF?view\">Betr&auml;ge ansehen</A></H4>";    
      endif;    
      ?>
      </BODY>
      </HTML>

      Kommentar


      • #4
        ja thx das erste ist mir klar das zweite braucht mysql ist nichts hehehe

        ich will eigentlich wissen wie mann einen beitrag in einen txt datei schreibt (ist mir klar) und dann den nächsten beitrag in einen andere also ich will die irgendwie fortlaufend kreieren lassen ...

        dann will ich wider alle dateien in einer tabelle ausgeben ..

        hmmmm... weiss nicht ob das jetzt verstäntlich war heheh..

        gruss blume
        für wallpaper: blumenbeet.com

        Kommentar


        • #5
          Ich würd es vermeiden wollen jeden Beitrag in eine eigenes Files zu schreiben, was zur Folge hätte, daß stets das ganze Filesystem durchbrowst werden müßte und sich so negativ auf die Performance auswirken würde. 100 Einträge würden 100 Files generieren. Für den Open einer Datei werden Systemressourcen benötigt, bei n Files eben n mal Systemressourcen.

          Nun gut. Wenn Du eben je Eintrag ein File erzeugen willst, so könntest Du als Filenamen den aktuellen Timestamp.txt verwenden und Du würdest mit den Namen nicht in Konflikt geraten. Über das Filedatum hättest Du auch schon den Zeitpunkt des Eintrages.

          Angenommen Du hättest nun eine Filesammlung von txt-Files in dem Verzeichnis könntest Du diese wie folgt auslesen:
          Code:
          <?
          $extension = "txt";
          $extpt = ".".$extension; 
          $handle=opendir ('.'); 
          while (false !== ($file = readdir ($handle))) { 
          	if (eregi($extpt, $file)) {
          			$filemodtime = date("d.m.Y H:i:s", filemtime($file));
          			print "<br><center>Filename: $file<br><b>Eintrag vom $filemodtime</b><br><center>";
          			$fp = fopen($file,"r"); 
          			while (!feof($fp)) { 
          				$buffer = fgets($fp, 4096);
          				print "<center>$buffer<br><br><hr width=400></center>"; 
          			}
          			fclose($fp); 
          	}
          }
          closedir($handle);
          ?>

          Kommentar


          • #6
            Insgesamt in etwa so:
            Code:
            <center>
            <h1>Wilkommen</h1>
            <h2>Deine Nachricht</h2>
            <form action="<? echo $PHP_SELF ?>" method="POST">
            <textarea Cols=50 rows=5 name="msg" wrap=virtual></textarea><br>
            <input type="submit" value="senden">
            </form>
            <?
            $extension = "txt";
            $fn=time();
            $fn.=".".$extension;
            
            if(isset($msg)) {
            	$fp = fopen($fn,"a");
            	fputs($fp,nl2br($msg));
            	fclose($fp);
            }
            ?>
            <br>
            <h3>Was andere bereits hier geschrieben haben</h3>
            <hr width=400>
            <? // @readfile("guestbook.txt")?>
            <?
            
            $extpt = ".".$extension; 
            $handle=opendir ('.'); 
            while (false !== ($file = readdir ($handle))) { 
            	if (eregi($extpt, $file)) {
            			$filemodtime = date("d.m.Y H:i:s", filemtime($file));
            			print "<br><center>Filename: $file<br><b>Eintrag vom $filemodtime</b><br><center>";
            			$fp = fopen($file,"r"); 
            			while (!feof($fp)) { 
            				$buffer = fgets($fp, 4096);
            				print "<br>$buffer<br><br><hr width=400></center>"; 
            			}
            			fclose($fp); 
            	}
            }
            closedir($handle);
            ?>
            </center>
            Jetzt bist Du dran

            Kommentar

            Lädt...
            X