Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Gästebuch skript ohne mysql do it yourself

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Gästebuch skript ohne mysql do it yourself

    hey,
    ich hab da mal versucht ein Gästebuchscript ohne mysql oder andere Datenbanken zu machen. Soo kann mir vll mal wer sagen ob das alles so richtig is und wie man smilies einfügt??? Wäre nett...

    Hier mal die scripte ( könnt ihr ja mal nachstellen)
    als erstes kommt eine Html datei die ihr eintragen.html nennt
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    </head>
    <body style="color: rgb(0, 0, 0);" alink="#ee0000"
    link="#0000ee" vlink="#551a8b">
    <form style="background-color: rgb(51, 204, 0);" method="post"
    action="gb.php">Dein Name: <input name="name"
    type="text"> &nbsp; &nbsp; &nbsp; &nbsp;
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
    &nbsp; &nbsp; &nbsp;<br>
    eMail: &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; <input
    name="email" type="text"><br>
    Dein Eintrag : <textarea cols="40" rows="10"
    name="eintrag"></textarea><br>
    <input name="Button" value="Absenden" type="submit"><input
    name="Button" value="L&ouml;schen" type="reset">
    </form>
    </body>
    </html>
    Dannach kommt eine php Datei die man gb.php nennt
    PHP-Code:
    <?php
           $daten
    =$_POST[eintrag]."<br>von <a href=mailto:".$_POST[email].">".$_POST[name]."</a><br><br>";
           
    $datenbank "daten.dat";
           
    $datei fopen($datenbank,"a");
           
    fwrite($datei$daten);
           
    ?>
           Eintrag erfolgreich.
           <a href="guestbook.php">Zurück zum Gästebuch</a>
    jetzt muss man eine txt datei erstellen die man daten.txt nennt und sie dann in daten.dat umbennent in ihr müssten eigentlich jetzt alle einträge gespeichert werden

    jetzt kommt der letzte php scripte
    den man guestbook.php nennt in ihr müssten die neuen einträge angezeigt werden...

    PHP-Code:
    <center><h2>Mein Gästebuch</h2>
           <a href="eintragen.htm">Ins Gästebuch eintragen</a></center>
           <?php
           $datenbank 
    "daten.dat"$datei fopen($datenbank,"r");
           
    fpassthru($datei);
           
    ?>
    ok das wars also wer verbesserungsvorschläge hat kann die ruhig posten!!!

    und wenn mir jem. erklären könnte wie man smilies einbinden posten.. xDD


    MfG Gandalf
    Wer Rechtschreibfehler findet kann sie behalten
    sigpic

  • #2
    Hallo Gandalf,

    eine datenbankgestützte Anwendung ohne Datenbank implementieren zu wollen ist einfach Unsinn. Allein das Sortieren von Beiträgen ist auf Datei-Basis nicht sinnvoll möglich.

    Was deine Smily-Frage angeht, so gibt es dazu 1001 Tutorials und Seite, die so etwas beschreiben. Bitte bemühe Google ein wenig, dann wirst du eine Lösung finden.
    Viele Grüße,
    Dr.E.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1. Think about software design [B]before[/B] you start to write code!
    2. Discuss and review it together with [B]experts[/B]!
    3. Choose [B]good[/B] tools (-> [URL="http://adventure-php-framework.org/Seite/088-Why-APF"]Adventure PHP Framework (APF)[/URL][URL="http://adventure-php-framework.org"][/URL])!
    4. Write [I][B]clean and reusable[/B][/I] software only!
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Kommentar


    • #3
      ok danke,
      könntest du mir vll erklären wie man das mit mysql macht weil meine t-online hat auch mysql..... wäre nett... aber ich google auch mal
      Wer Rechtschreibfehler findet kann sie behalten
      sigpic

      Kommentar


      • #4
        Mal "eben erklären" ?? Glaubst du wirklich dass man das alles mal so eben in zwei drei Sätzen erklären kann? Datenbanken sind komplexe Systeme die, um sie wirklich gut bedienen zu können, viel Können erfordern!

        Wenn du wirklich Interesse hast dann schau dir ein paar Tutorials an dann kannst du zumindest die Grundlegenden Dinge programmieren wie ein Gästebuch z.b.! Aber es sollte dir bewusst sein dass das auch einiges an Arbeit kostet!

        Kommentar


        • #5
          jaja schon klar ich setz mich da mal mit meinem Vater ran ich schick dir dann mall das ergebns

          thx u....
          Wer Rechtschreibfehler findet kann sie behalten
          sigpic

          Kommentar


          • #6
            Zitat von gandalf Beitrag anzeigen
            thx u....
            Code:
            g33k-m0de=on
            error: failed to parse statement "thx u"
            hint: statement contains "thx" and "u" maybe you mean "ty" for "thank you"?
            [FONT="Book Antiqua"][I]"Nobody is as smart as everybody" - Kevin Kelly[/I]
            — The best things in life aren't things[/FONT]

            Kommentar


            • #7
              Mensch phpdummi, hättest du jetzt register_globals an, dann hätte dir gandalf auch die richtigen Paramenter zum verstehen übergeben LOL

              Kommentar


              • #8
                Zitat von gandalf Beitrag anzeigen
                ok danke,
                könntest du mir vll erklären wie man das mit mysql macht weil meine t-online hat auch mysql..... wäre nett... aber ich google auch mal
                #php/QuakeNet Tutorial - Eigenes Gästebuch

                Aber mach lieber mal das ganze Tutorial durch

                Grüße
                Das Psy
                [I]"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)[/I]

                Kommentar


                • #9
                  hey thx ich setz mich mal drann.....
                  Wer Rechtschreibfehler findet kann sie behalten
                  sigpic

                  Kommentar


                  • #10
                    hab jetzt ein php gb mit mysql aber wie kann ich euch das hochladen????
                    Wer Rechtschreibfehler findet kann sie behalten
                    sigpic

                    Kommentar


                    • #11
                      Wieso uns? Du willst doch das Gästebuch haben.

                      Wenn du willst dass wir auf deinen Code schauen dann poste ihn im Forum.

                      Kommentar


                      • #12
                        ok

                        Datei Nr. 1 gaestebuch.php
                        PHP-Code:
                        <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
                        <?php
                        include ("admin.inc.php");

                        $Anfangsposition $HTTP_GET_VARS["Anfangsposition"];
                        ?>
                        <html>
                        <head>
                        <title>G&auml;stebuch</title>
                        <meta name="author" content="Kev´s World">
                        <link rel="stylesheet" href="<?php echo $style?>" type="text/css">
                        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
                        <!--
                        body {
                            background-color: #999999;
                        }
                        .Stil1 {
                            color: #00FF00;
                            font-weight: bold;
                            font-family: Arial, Helvetica, sans-serif;
                        }
                        .Stil4 {color: #00FF00}
                        .Stil5 {color: #00FF00; font-weight: bold; }
                        -->
                        </style></head>
                        <body>

                        <div align="center">
                                 <h1><img src="file:///C|/Dokumente und Einstellungen/Lukas/Desktop/Homepage/banner3.png" width="800" height="200" alt="gb"></h1>

                        <!--Formular zum eintragen-->
                            <form action="gbausfuehren.php" method="post">
                            <table>
                            <tr>
                             <td><span class="Stil1">Name: </span></td>
                             <td><input type="Text" name="name"size="53" maxlength="30"> </td>
                            </tr>
                            <tr>
                             <td><span class="Stil1">E-Mail: </span></td>
                             <td><input type="Text" name="email" size="53" maxlength="50"> </td>
                            </tr>
                            <tr>
                             <td><span class="Stil1">Website: </span></td>
                             <td><input type="Text" name="url" size="53" maxlength="50"> </td>
                            </tr>
                            <tr>
                             <td colspan="2"><br>
                                     <textarea name="kommentar" cols="60" rows="5"></textarea>     </td>
                            </tr>
                            <tr>
                             <td><input type="Submit" name="ok" value="Abschicken"> </td>
                             <td><input type="reset" value="L&ouml;schen"> </td>
                            </tr>
                            </table>
                            </form>
                                 <!--Formular zum eintragen Ende-->

                        <?php
                            
                        //Zähler zum Bilder zählen erstellen
                            
                        $anzahlBilder 0;

                                 
                        //-------------------Blättern--------------

                            //Datensätze pro Seite
                            
                        $ZeilenProSeite 5;

                            if(!empty(
                        $suchbegriff)) {
                                     
                        $suchbegriff=strtoupper($suchbegriff);
                            }

                            if(empty(
                        $Anfangsposition)) {
                                     
                        $Anfangsposition 0;
                            }

                                 
                        //prüfen ob sql String leer. Wenn ja erzeugen
                            
                        if(!empty($sql)) {
                                     
                        $sql=str_replace("\\","",$sql);
                            } else {
                                     
                        $sql "SELECT G_ID, Datum, Name, URL, Email, Kommentar FROM gaestebuch ORDER BY G_ID DESC";
                            } 
                        //prüfen ob sql String leer. Wenn ja erzeugen

                                 //Anzahl Gästebucheinträge zählen
                            
                        $abfrageAnzahl $sql;
                            
                        $ergebnisAnzahl mysql_query($abfrageAnzahl);
                            while(
                        $rowAnzahl mysql_fetch_object($ergebnisAnzahl))
                            {
                                
                        $anzahlBilder++;
                            }

                                 
                        //Wurden Gästebucheinträge gefunden ?
                            
                        if ($anzahlBilder == 0){
                        ?>
                                     <div align="center"><font size="-1"><span class="Stil5">Es wurde noch nix in dein G&auml;stebuch eingetragen</span>.</font></div>
                        <?php
                            
                        }else{
                        ?>
                                     <div align="center" class="Stil5"><font size="-1">Du bist die</font><font size="-1"> <?echo $anzahlBilder;?> Person die in dieses G&auml;stebuch geschrieben hat.</font></div>
                        <?php
                                 
                        //} //Wurden Gästebucheinträge gefunden ?

                                 //--------------- Gästebucheinträge anzeigen ---------------------------------------------------------------------

                              
                        $ergebnis mysql_query($sql);
                            
                        $Anzahl mysql_num_rows($ergebnis);

                            
                        $sql1 "$sql limit $Anfangsposition$ZeilenProSeite";
                            
                        $sql urlencode($sql);

                            
                        $ergebnis1 mysql_query($sql1);
                            while(
                        $row mysql_fetch_object($ergebnis1))
                                {
                                     
                        //Bilder zählen
                                     
                        $anzahlBilder $anzahlBilder 1;
                        ?>
                                <br>
                                    <hr noshade size='1' width='800' class="trennlinie">   <!--color='#78ad49'-->
                                    <br>
                                    <table width="800">
                                       <tr>
                                        <th width="125" align="left" ><span class="Stil4">Eingetragen von: </span></th>
                                        <td><? echo $row->Name; ?></td>
                                       </tr>
                                       <tr>
                                        <th width="30" align="left"><span class="Stil4">Am: </span></th>
                                        <td><? echo $row->Datum; ?></td>
                                       </tr>
                                    </table>
                                    <table width="800">
                                       <tr>
                                        <th align="left"><span class="Stil4">Kommentar:</span></th>
                                      </tr>
                                    </table>
                                    <table width="800" class="rand">
                                       <tr>
                                        <td><p align="justify"><? echo $row->Kommentar; ?></p></td>
                                       </tr>
                                    </table>
                                    <table width="800">
                                       <tr>
                                        <th width="77" align="left"><span class="Stil4">E-Mail:</span> </th>
                                        <td width="271"><a href="mailto:<? echo $rowEintrag->Email; ?>"><? echo $row->Email; ?></a><a href="<?echo $rowEintrag->URL;?>" target="_blank"><?echo $row->URL;?></a></td>
                                        <th width="66" align="left" class="Stil4">Website: </th>
                                        <td width="366">&nbsp;</td>
                                      </tr>
                                    </table>
                        <?php
                                
                        // while Gästebucheinträge anzeigen
                                     //--------------- Gästebucheinträge anzeigen ---------------------------------------------------------------------
                        ?>
                            <!--------------Seitennummer zum Blättern einfügen--------------------------------------------------------------->
                        <?php
                            
                        // Tabelle nur einblenden, wenn Datensätze gefunden wurden
                            
                        if ($Anzahl 5) {
                        ?>
                            <div align="center">
                        <?php
                            
                        // Anzahl der vollen Seiten berechnen
                            
                        $Seiten=intval($Anzahl/$ZeilenProSeite);

                            
                        // Eine Seite für die restlichen Datensätze hinzufügen
                            
                        if($Anzahl%$ZeilenProSeite) {
                                
                        $Seiten++;
                            }

                            
                        // Die Links für die Seiten erzeugen
                            
                        for($i=1;$i<=$Seiten;$i++) {
                                
                        $fwd=($i-1)*$ZeilenProSeite;

                                
                        // für die derzeit gezeigte Seite wird der Link in rot angezeigt
                                
                        if($Anfangsposition/$ZeilenProSeite+1==$i) {
                                    echo 
                        "&nbsp;<a href=\"gaestebuch.php?Anfangsposition=$fwd
                                    &sql=
                        $sql\"><FONT COLOR=\"#FF0000\">$i</FONT></a>";
                                } else {
                                    
                        // für alle anderen Seiten in blau
                                    
                        echo "&nbsp;<a href=\"gaestebuch.php?Anfangsposition=$fwd
                                    &sql=
                        $sql\"><FONT COLOR=\"#3b5b81\">$i</FONT></a>";
                                }

                                
                        // Links pro Zeile
                                
                        if($i%25==0) {
                                    echo 
                        "<br>";
                                }
                            } 
                        // for schleife
                            
                        echo "&nbsp;";
                        ?>
                            </div>
                        <?php
                            
                        // Tabelle nur einblenden, wenn Datensätze gefunden wurden
                            
                        //Bilder gefunden?
                        ?>
                        </div>
                        </body>
                        </html>
                        dann hab ich noch 2 admin dateien zum bearbeiten bzw löschen der datei und eine datei die auf dem server die tabellen erstellt

                        ok???
                        Wer Rechtschreibfehler findet kann sie behalten
                        sigpic

                        Kommentar


                        • #13
                          Ok!

                          Ich mein was sollen wir darauf antworten? Es gibt keine feste Richtlinie wie man Skripte schreiben muss. Das kann man so, so oder so lösen.

                          Man könnte dein Skript noch mit allerlei Sachen aufwerten (zum Beispiel Klassen für die DB Abfragen, Paging, Templates, ...).

                          Wir im Forum sind eher dafür da dass wenn etwas nicht funktioniert wir Hilfe leisten. Aber laufende Skripte anzuschauen ob irgendwo etwas unsicher oder schlecht gemacht ist wollen wir eher nicht. Da solltest du dich schon selber drum kümmern die Sicherheitslücken zu schließen.

                          Ansonsten was mir aufgefallen ist:
                          PHP-Code:
                          $Anfangsposition $HTTP_GET_VARS["Anfangsposition"]; 
                          Nutze anstatt $HTTP_GET_VARS einfach nur $_GET also:
                          PHP-Code:
                          $Anfangsposition $_GET["Anfangsposition"]; 
                          Und hier hätten wir schon ein kleines Problem. Wenn "Anfangsposition" NICHT übergeben wird dann ist die Variable leer. Dann würde eigentlich ein Notice ausgegeben werden.
                          Versuche hier erst mal zu prüfen ob "Anfangsposition" gesetzt ist. Inetwa so:
                          PHP-Code:
                          if (isset($_GET['Anfangsposition'])) {
                              
                          $Anfangsposition $_GET['Anfangsposition'];
                          } else {
                              
                          // hier der default Wert wenn Anfangsposition nicht gesetzt ist
                              
                          $Anfangsposition 1;

                          Kommentar


                          • #14
                            ok danke .....

                            aber eine frage hab ich noch !!! wie kann ich smilies einbinden xDD
                            Wer Rechtschreibfehler findet kann sie behalten
                            sigpic

                            Kommentar


                            • #15
                              Zitat von gandalf Beitrag anzeigen
                              wie kann ich smilies einbinden xDD
                              Zum Beispiel:
                              PHP-Code:
                              $input 'whatever someone was typing in';
                              str_replace(':)''<img src="smilie.gif" alt="lächeln" />'$input); 
                              Für jeden Smilie eben ein replace über den Input laufen lassen ...
                              [FONT="Book Antiqua"][I]"Nobody is as smart as everybody" - Kevin Kelly[/I]
                              — The best things in life aren't things[/FONT]

                              Kommentar

                              Lädt...
                              X