Ergebnis 1 bis 14 von 14

Thema: Mini PHP-Tut

  1. #1

    Mini PHP-Tut

    So, Hier mal ein Mini-PHP Tut von mir, das die Verwendung,
    die Funktionsweise und einige andere PHP-Themen aufzeigen
    soll.

    ________________________________________________
    [FONT=times new roman]PHP-Tut [/FONT] by Crash-Override

    1. Kleine Einleitung

    PHP ist eine Serverseitige Webbasierende Programmiersprache.
    Das heißt die PHP Befehle werden schon auf dem Webserver interpretiert. Dies erfolgt indem der Server eine Kopie
    der auf dem Server liegenden PHP-Datei erstellt, diese interpretiert, das heißt die Befehle ausführt und diese
    in HTML formatiert.
    Dazu ein einfaches Beispiel:


    <?php
    Echo “Hello World“;
    ?>


    Dies ist ein PHP-Skript. Mit <?php wird dem Server
    ausgerichtet das er ab hier PHP interpretieren soll.
    Und mit ?> wird dem server mitgeteilt „Ab hier kein
    PHP mehr bitte“.
    Echo ist ein PHP Befehl und er sagt „Gib den Text
    der in “ “ dahinter folgt auf dem Bildschirm aus.
    Der Webserver wandelt das ganze dann in HTML um
    sprich:


    <html>
    <body>
    Hello World
    </body>
    </html>


    Diese HTML-Befehle werden dann an den Browser des Users weitergesendet, der Sie wieder umwandelt und schließlich
    sieht der User nur noch

    Hello World

    Auf seinem Bildschirm, genauer im Browser-Fentser. Dies
    war aber auch nur ein einfacher PHP test.

    Mit PHP kann man von Foren, über Gästebücher bis hin zu
    Chats alles programmieren, wenn man nur weis wie.

    2. Vorrausetzungen

    Um mit PHP zu arbeiten benötigen Sie nur dreierlei Dinge,
    die es alle kostenlos gibt. Erst einmal benötigen sie
    einen Browser, wobei dafür auch Billig-Browser-IE oder
    andere Browser (auch Linux Browser ) genügen. Zweitens
    benötigen Sie einen Texteditor wie Notepad (oder ähnliche
    Programme für Linux). Und zu guter letzt noch einen PHP-Untersützenden Webserver. Denn können sie sich entweder
    zu Hause an ihrem PC einrichten oder einen Hoster aus
    dem Internet wählen. Ich empfehle für den Anfang
    letzteres (gut ist zum Beispiel www.funpic.de).

    3. Aller Anfang ist…

    .. in diesem Fall gar nicht so schwer…

    Um zu überprüfen ob ihr Host PHP unterstützt erstellen
    sie mithilfe ihres Textprogramms eine Datei namens
    PHP-Test.php in der Folgendes steht:


    <?php
    phpinfo();
    ?>


    Laden sie die Datei auf ihren Server und führen
    Sie sie aus.

    Unterstützt ihr Server PHP müssten sie ein
    ähnliches Ergebnis bekommen wie ich hier:

    [sorry Bild noch nicht online...
    Hier sieht man etwas über die Aktuelle PHP Version
    und vieles mehr]

    Herzlichen Glückwunsch! Sie haben gerade PHP geschrieben.

    Code:
    Der Befehl “phpinfo( );“
    Dieser Befehl fragt den server alle Informationen 
    über den aktuellen PHP Status ab.
    4. if und else.

    Vielleicht erinnert ihr euch noch an den Befehl “echo“

    Code:
    Der Befehl “ echo “ “; “
    Der Echo befehl gibt Text auf dem Bildschirm aus. 
    Variabeln oder HTML-Befehle können ebenfalls in 
    echo Befehlen stehen und werden ordnungsgemäß 
    ersetzt, bzw. ausgeführt.
    Schaut euch mal dieses Beispiel an:


    <?php
    $user = ’Crash-Override’;
    $passwort = ’abc123’;

    If($user == ‘Anna’)
    {
    If ($passwort = ‘abc123’)
    {
    Echo “Erfolgreich eingelogt”;
    }
    Else
    {
    Echo “Falsches Passwort!“;
    }
    }
    Else
    {
    Echo “Falscher Benutzername!“;
    }
    ?>


    Mit $ wird eine Variable Bezeichnet.
    (ACHTUNG: PHP unterscheidet zwischen Groß und
    Kleinschreibung.)

    If-Befehle werden wie folgt deklamiert:



    If(X == Y)
    {
    Anweisung
    }


    Satt == könnte man auch folgendes einsetzen:

    == Ist das selbe
    >= Linkes ist größer
    <= Rechtes ist größer
    != Ist nicht das selbe

    Statt X bzw. Y irgendwelche Variabeln, Strings
    (Zeichenketten in “ “) oder Zahlen.

    Fortsetung folgt...
    _____________________________________________
    Ach ja, hier hab ich eine PDF-Offline-Version
    zum Downlaod gemacht.

    (Bitte Rechts klicken und Speichern unter benutzen)
    http://ihrname.funpic.de/PHP.exe
    _____________________________________________
    edit:
    Juhuu, dann wird daraus ein Fortsetzungs tut. Ich mach immer ein Update der PDF-Datei...

    Geändert von Crash-Override (23.07.2004 um 05:34 Uhr)

  2. #2
    mmmm. recht schon fehl aber was.Trotz meiner
    tollen rechtschreibung schreib ich was dazu.

    5. F-open and co.

    Also wir fangen was wir wollen ?

    Daten Speichern ohne mysql.

    Wie machen wir das ?


    In dem wir alle Informationen in eine anderre datei rein schreiben.

    wir fangen an :

    wir haben ein formular mit folgenden feldern :

    1.Name
    2.Email
    3.Wohnort
    4.Homepage
    5.Datum
    6.Text

    und wollen diese daten in eine datei schreiben.

    Also bauen wir ein formular mit

    PHP-Code:
    <form name="Formular" action="leer-abfrage.php" method="post">

    <
    input type="submit" value="Abschicken">
    <
    input type="reset" value="Leeren" name="reset"
    da muss aber noch was rein undzwar eben

    1.Name
    2.Email
    3.Wohnort
    4.Homepage
    5.Datum
    6.Text

    also siht es so aus :


    PHP-Code:
    <form name="Formular" action="abfrage.php" method="post">
    Name:
    <
    input type="text" size="20" name="name">
    <
    br>
    <
    br>
    Ihre eMail Adresse:
    <
    input type="text" size="20" name="email">
    <
    br>
    <
    br>
    Wohnort:
    <
    input type="text" size="20" name="home">
    <
    br>
    <
    br>
    Homepage:
    <
    input type="text" size="20" name="homepage">
    <
    br>
    <
    br>
    Ihr Text:
    <
    textarea cols="50" rows="10" name="text" id="text"></textarea>
    <
    br><br>Smiley Einf&uuml;gen:<br>

    <
    br>
    <
    input type="submit" value="Abschicken">
    <
    input type="reset" value="Leeren" name="reset"
    so dann müssen aber die daten auch weiter gegeben werden.
    Das macht der <form> dieser <form> fürt zu einer datei und behält dabei die Variablen.

    so wie soll die afrage.php aussehn ?

    so soll sie aussehn :

    PHP-Code:
    <?php



    $datei 
    fopen("./test.txt","r");
    //#############################
    //mit fopen öffen wir daten.
    // man kann jenach dem was man will fopen
    //anderre Rechte geben
    //
    //r  =  Öffnet die Datei nur zum Lesen und positioniert den
    // Dateizeiger auf den Anfang der Datei.
    //
    //r+ = Öffnet die Datei zum Lesen und Schreiben und setzt 
    //den Dateizeiger auf den Anfang der Datei.
    //
    //w  =  Öffnet die Datei nur zum Schreiben und setzt den
    // Dateizeiger auf den Anfang der Datei sowie die Länge der 
    //Datei auf 0 Byte. Wenn die Datei nicht existiert wird 
    //versucht sie anzulegen.
    //
    //w+ =  Öffnet die Datei zum Lesen und Schreiben und setzt 
    //den Dateizeiger auf den Anfang der Datei sowie die Länge
    // der Datei auf 0 Byte. Wenn die Datei nicht existiert,
    // wird versucht sie anzulegen.
    //
    //a  =  Öffnet die Datei nur zum Schreiben. Positioniert den
    // Dateizeiger auf das Ende der Datei. Wenn die Datei nicht
    // existiert, wird versucht sie anzulegen.
    //
    //a+ =  Öffnet die Datei zum Lesen und Schreiben. 
    //Positioniert den Dateizeiger auf das Ende der Datei. Wenn
    // die Datei nicht existiert, wird versucht sie anzulegen.

    echo $datei "
    //wir haben r zum lesen  genommen und können 
    // dann per echo die datei ausgeben.
    //
    //

    ?>
    Um daten reinschreiben zulassen siht das so aus :

    PHP-Code:
    <?php



    $datei 
    fopen("./test.txt","w");

    $datum date("j F, Y, H:i:s");
    // mit date gibt man das datum aus

    $input"

    <table border=\"0\">
    <tr>
    <td WIDTH=\"100%\" HEIGHT=\"3\" BGCOLOR=\"#000000\" >
    </td>
        <tr>
            <td><strong>Von 
    $name am $datum </strong><br> $homepage </td>
        </tr>
        <tr>
            <td WIDTH=\"500\">
    $text</td>
        </tr>
    </table>
    <br>

    $datei "

    // wir dürfen nicht fergessen " immer mit "\" zu escapen wenn
    // wir es z.b. per echo wieder geben wollen.

    // um die bestehenden daten nicht zu überschreiben muss das
    // fwrite so aussehn

    fwrite($datei,$input);

    ?>
    und schon haben wir daten in eine tyt datei geschreiben udn können uns schnell und einfach ein Chat oder ein gäste buch bauen.

    Ich hoffe das hat wer verstanden

    Geändert von dadie (24.07.2004 um 03:39 Uhr)

  3. #3

    chinmoku Gast
    Ey, cool ^^
    Der Threadtitel hätte jetzt bei mir zwar kein Tutorial vermuten lassen, aber der post/thread könnte mir trotzdem zu Gute kommen.

    Ich wollte eigentlich über google ein Tutorial suchen, aber so gehts schneller ^^'

  4. #4
    mmmmmm.

    Also mir ist noch was eingefallen.
    Etwas für N00bs um PHP besser Verstehn zu können.

    6. PHP Allgemein 2

    Was ist PHP ?

    PHP ist eine Serverseitige Script Sprache.Im
    weitestens sinnne ist PHP eine Programmier sprache
    (nur im weittesten sinne)

    Was ist eine Variable ?

    Das hat mir früher viel kopf weh gemacht.
    Was sind den Variablen ?

    Im grunde sind sie platz halter.
    Um zahlen oder buchstaben auszugeben.

    Man kann alles in Variablen speichern.
    Jedoch ist der Speicher nur temporer.Was so viel heist wie.
    Wenn ich auf seite A gehe udn dort die Variable $var1 den wert 1 hat und ich auf den Link zu seite B klicke ist dann auf seite B $var1 nicht 10 sondern nichts (leerzeichen).

    Was bedeutet das $ ?

    Mit dem $ sagt man dies ist eine Variable.
    Variablen können jeden namen haben den es gibt.


    7. Switches (TABS)

    Ich kenne mich mit dem RPG maker aus da gibt es solche Switches (tabs) gibt es sowas auch in PHP ?

    Jein.Ein Switch (tab) in php siht so aus

    PHP-Code:

    switch ($Variable) {
    case 
    "1":
    echo 
    "1";
    break;
    case 
    "2":
    echo 
    "2";
    break;


    Hier die Erklärung :

    Mit dem befehl switch ($Variable) {}
    lesen wir eine Variable aus und prüffen sie ab.

    Mit dem Befehl case "1": geben wir eine bedingung auf
    die diese Variable haben muss um den folgenden quell text darzustellen.In diesem fall muss $Variable 1 sein um 1 auszugeben.

    Das passier per echo "1"; das muss ich nicht erklähren oder ?

    Dann kommt aber was Neues undzwar break;
    break; heist soviel ENDE von case .
    Bzw. mit break; beended man ein case Befehl.

    Wozu brauch man das ?
    Naja es siht einfach übersichtlicher aus als die if fariante die so aussehn würde :

    PHP-Code:

    if($Variable == "1")
     {
    echo 
    "1"
     
    }

    if(
    $Variable == "2")
     {
    echo 
    "2"
     

    dazukommt das so die datei manchmal unnötich in die grösse gezogen wird.Was ja nicht so gut ist für die ladezeit.

  5. #5
    Zitat Zitat
    Original geschrieben von dadie
    7. Switches (TABS)

    Ich kenne mich mit dem RPG maker aus da gibt es solche Switches (tabs) gibt es sowas auch in PHP ?

    Jein.Ein Switch (tab) in php siht so aus

    PHP-Code:
    switch ($Variable) {
    case 
    "1":
    echo 
    "1";
    break;
    case 
    "2":
    echo 
    "2";
    break;


    Das ist aber net gut erklärt
    wegen diesem
    PHP-Code:
    switch ($Variable
    könnte man auf falsche Gedanken kommen
    Aber ansonsten nett... Aber wirklich nur für Noobs...

    Manni

  6. #6
    Nun gut, jetzt ein Praxisbeispiel eines Gästebuchs (das sich wirklich alle zu wünschen) -.-"

    8. PHP in der Praxis 1 (Crash-Override)

    Heute wollen wir mal PHP in der Praxis anhand eines Beispiels benutzen.

    Heute programmieren wir ein Gästebuch mithilfe einer Textdatei.

    Zuerst benötigen wir eine HTML-Datei zum eingeben von Einträgen.

    Diese hat folgenden Aufbau:

    <html>
    <head>
    <title>Crash’s kleines GB</title>
    </head>
    <body>
    <form method="post" action="schreibe.php">
    Name: <input type="text" name="name"><br>
    E-Mail: <input type="text" name="email"><br>
    Text: <textarea name="text"></textarea><br>
    <input type="submit" name="Button" value="Absenden">
    </form>
    </body>
    </html>

    Wie ihr seht: Kein PHP in dieser Datei.

    Diese Datei sichern wir jetzt unter dem Namen eintrag.html.

    Mit „<form method="post" action="schreibe.php">“ wird
    festgelegt was mit den Einträgen passiert, in diesm Fall
    werden sie an schreibe.php weitergeleitet.

    Nun schreiben wir mal diese schreibe.php …

    <html>
    <head>
    <title>Crash’s kleines GB</title>
    </head>
    <body>
    <?php
    $_POST['text'] = nl2br ( $_POST['text'] );
    $daten=$_POST['text']."<br>von <a href=mailto:".$_POST['email'].">".$_POST['name']."</a> <br><hr />";
    $datenbank = "eintraege.dat";
    $datei = fopen($datenbank,"a");
    fwrite($datei, $daten);
    ?>
    Danke das Sie sich in mein Gästebuch eingetragen haben.
    <a href="Anzeige.php">Zurück zum Gästebuch</a>
    </body>
    </html>

    Die an diese Datei gesendeten Daten können nun mittels der Variabeln abgefragt werden (Die Variable trägt den Namen den das Eingabefeld trug.
    D.H:
    Sendet man

    E-Mail: <input type="text" name="email">
    An eine andere Datei kann man sie mittels $email abfragen.

    So, nun brauchen wir noch die Datei Anzeige.php die alle bisherigen Einträge anzeigt.

    Diese sieht so aus:

    <html>
    <head>
    <title>Crash’s kleines GB</title>
    </head>
    <body>
    <center><h2>Paddy’s Gästebuch</h2><br>
    <a href="eintrag.htm">In mein Gästebuch eintragen</a></center>
    <br>
    <?php
    $datenbank = "eintraege.dat";
    $datei = fopen($datenbank,"r");
    fpassthru($datei);
    ?>
    </body>
    </html>
    <?php

    Tja, mit ein paar HTML-Kenntnissen und dem Wissen aus den Vorherigen Teilen müsstet ihr alles verstanden haben.

    edit: Danke nochmal an mitaki der mir jetzt endlich meien fehler gezeigt hat...

    Geändert von Crash-Override (25.07.2004 um 01:04 Uhr)

  7. #7
    nein, nein, bitte ... nicht ... Was hast du nur getan?

    Eure Arbeit in allen Ehren, aber ich denke, dass dieses Tutorial nur den wenigsten helfen kann (falls überhaupt).

    Crash-Override, manche Informationen sind schlicht falsch, andere zu kurz angeschnitten.

    dadie, auch bei dir gibt es das Problem der unvollständigkeit, was z.B. wenn register_globals auf Off steht (gilt auch für dich Crash-Override), oder eine Variable $123 heißt?
    Logikfehler: was hat z.B. $datum mit fopen() zu tun? Nebenbei ist der HTML Code in einem schlechtem Stil.
    Wäre ich nicht in diesem Forum unterwegs würde mich der Begriff RPG Maker nur noch mehr verwirren, d.h. bei einem Tutorial sollte man sich auf das wesentliche konzentrieren.

    Ich werde mal eine Liste von Tutorials zusammenstellen, die ich für wirklich hilfreich halte.

  8. #8
    @mitaki

    Sorry habe mich verschreiben.Das sagt mir auch keiner.



    9. THE FINAL GB MIT TXT (ist im aufbau)

    Hi ,

    Wir bauen Heute ein GB mit allem Drum und dran.
    (leider Ohne admin Menu)

    Mit Smillies und eine recht tollen Optik.

    Was brauchen wir ?

    legt folgende leer datein an :

    ausgabe.php
    leer-abfrage.php
    eintrag.html
    schreiben.php
    daten.txt
    popup.txt
    styl.txt


    Was soll die ausgabe.php machen ?

    Sie soll Oben udn unten einen Link haben um sich in das GB
    einzutragen udn in der mitte solleb die einträge stehn.

    Wie machen wir das ?

    wir fangen an :
    PHP-Code:
    <?php

    $filename 
    "daten.txt";
    //in die Variable kommt der name der datei in die 
    //geschreiben werden soll.Wichitg ist dabei
    //das diese datei per FPT programm die zugriff nummer 777
    //bekommt !!!!!!!!!

    $fp fopen ($filename"r");
    //Hiermit öffen wir die datei und speichern
    //diesen öffnungs befehl in eine Variable ab
    //um sie später aufzuruffen



    echo "$fp;

    ?>
    so was machen wir hier ?

    Wir öffnen die datei per fopen udn speichern so den inhalt
    der datei in die Variable $fp ab.Diesen inhalt geben wir dann per echo aus.Da aber bsiher die datei leer ist bringt das reichlich wennich.

    Was nun ?

    Als zweiten schritt kommen die Links zum eintragen


    zu erst schreiben wir folgenden quelltext in die datei popup.txt


    PHP-Code:
    <br>
    <
    script LANGUAGE="JavaScript">
      <!--
         function 
    newwin(wintitlewhresizescrollbarstoolbar)
         { 
    // Neues Fenster anzeigen
          
    var param "height=" ",width=" ",resizable=" resize "scrollbars=" scrollbars ",toolbar=" toolbar;
          
    neues window.open(win,title,param);
         }
      
    // -->
    </script>

    <script LANGUAGE="JavaScript1.1">

      <!-- 
        function newwin(win, title, w, h, resize, scrollbars, toolbar)
        { // Neues Fenster anzeigen
         var param = "height=" + h + ",width=" + w + ",resizable=" + resize + "scrollbars=" + scrollbars + ",toolbar=" + toolbar;
         if (window.neues) {
           if (neues.closed == 0) {
             neues.focus();
           }
         }
         neues = window.open(win,title,param);
         neues.focus();
        }
    // --></script>


    <a href="javascript:newwin('./eintrag.html','',350,350,'yes')"><h5>[Eintrag erstellen...]</h5></a>



    <br> 

    PHP-Code:
    <?php

    $filename 
    "daten.txt";
    $filenamepopup "popup.txt";


    $fp fopen ($filename"r+");
    $popup fopen ($filenamepopup"r+");

    $fp fread ($fpfilesize ($filename));
    $popup fread ($popupfilesize ($filenamepopup));


    echo 
    $popup;

    echo 
    $fp;

    echo 
    $popup;

    ?>
    so nun ist die ausgabe.php fürst erste fertig.

    Nun fangen wir an die datei eintragen.html
    zu beschreiben.

    Was soll diese datei machen ?

    Man soll daten ein tragen können.

    Welche daten ?

    1.Name
    2.E-mail
    3.HP
    4.Text

    Also brauchen wir 4 schreib felder.

    Also schreiben wir los dann siht die datei so aus :
    PHP-Code:
    <html>
    <
    head>
    </
    head>
    <
    body>
    <
    input type="text" size="20" name="name"><br>

    <
    input type="text" size="20" name="email"><br>

    <
    input type="text" size="20" name="home"><br>


    <
    textarea cols="50" rows="10" name="text" id="text"></textarea>
    </
    body>
    </
    html
    so nun weiss aber der User noch nicht wo er was eintragen soll.Also geben wir ihnen Namen.
    Dann siht der code so aus :

    PHP-Code:
    <html>
    <
    head>
    </
    head>
    <
    body>
    Ihr Name :<input type="text" size="20" name="name"><br>

    Ihre eMail Adresse:<input type="text" size="20" name="email"><br>

    Ihre Homepage :<input type="text" size="20" name="home"><br>


    Ihr Text :<textarea cols="50" rows="10" name="text" id="text"></textarea>
    </
    body>
    </
    html
    so soweit so gut.Doch die daten muss ja auch ihrgentwie weiter gegeben werden.Das geht dann per <form> tag

    Also siht alles am schluss so aus :

    PHP-Code:
    <html>
    <
    head>
    </
    head>
    <
    body>
    <
    form name="Formular" action="leer-abfrage.php" method="post">
    Ihr Name :<input type="text" size="20" name="name"><br>

    Ihre eMail Adresse:<input type="text" size="20" name="email"><br>

    Ihre Homepage :<input type="text" size="20" name="home"><br>


    Ihr Text :<textarea cols="50" rows="10" name="text" id="text"></textarea>
    <
    input type="submit" value="Abschicken">
    <
    input type="reset" value="Leeren" name="reset">

    </
    body>
    </
    html
    so und somit ist die datei eintrag.html forerst fertig.

    machen wir uns an die datei leer-abfrage.php.

    Was soll diese datei machen ?

    Sie soll prüffen ob die 2 wichtigen felder name und text
    auch beschreiben sind.

    Dem endsprechen sit sie recht kurz so siht sie aus :

    PHP-Code:
    <?php


    $text 
    ereg_replace("<","",$text);
    $text ereg_replace(">","",$text);

    $name ereg_replace("<","",$name);
    $name ereg_replace(">","",$name);

    $email ereg_replace("<","",$email);
    $email ereg_replace(">","",$email);

    $home ereg_replace("<","",$home);
    $home ereg_replace(">","",$home);
    $home ereg_replace("http://","",$home);

    // mit ereg_replace deactivieren wir html auf die einfachste
    // art und weisse.In dem wir < und > in "" umwandeln 
    //(leerzeichen)


    if (empty($name)) {
    echo 
    "gib bitte einen namen ein"; }
    else {
    if (empty(
    $text)) {
    echo 
    "gib bitte einen text ein"; }

    else
    {
    echo 
    "<META HTTP-EQUIV=Refresh CONTENT=\"0 ; 
    URL=schreiben.php?name=
    $name&email=$email&home=$home&text=$text&an=1\"> ";
    }
    }
    // wenn wir daten weiter geben wollen kann man das auch per
    //also
    //xyz.php?variablennamendendiesevariableaufder
    //nägstenseitehabensoll=$variable

    ?>
    so diese datei ist endgültich fertig.Und muss nur bei bedarv edirt werden z.b. um wörter zu zensieren.

    machen wir uns an die datei

    schreiben.php

    sie ist das HERZ stück und auch das einzich schwere

    Was soll diese datei machen ?

    Sie soll die daten NUR einmal reinschreiben.
    Dabei soll sie immer oben stehn , und es soll
    der text kommen "Danke für den eintrag"

    Wie machen wir das ?

    Als erstes öffen wir daten.txt per fopen wie oben schon einmal dargestellt so siht der quelltext aus :

    PHP-Code:
    <?php
    if($an == "1")
    {
    $filename "daten.txt";

    $fp fopen ($filename"r+");
    }
    else
    { echo 
    "Fehler 001 Datei falsch geöffnet !";
    }
    ?>
    so was machen wir ?

    Wir öffnen die datei mit fopen jedoch nutzen wir nun
    r+

    Was bringt r+ ?

    r+ bedeutet soviel wie :
    Öffnet die Datei zum Lesen und Schreiben und setzt den Dateizeiger auf den Anfang der Datei.

    Aber das steht da ganz oben schon in meinem Kapitel fopen

    Was muss nun noch gemacht werden ?

    Daten mussen geschreiben werden und der text
    "Danke für den eintrag" soll kommen

    das lösen wir so

    PHP-Code:
    <?php
    if($an == "1")
    {
    $filename "daten.txt";

    $fp fopen ($filename"r+");

    $fp2 fread ($fpfilesize ($filename));

    if (
    $email == "")
    $name2 $name ;
    }
    else {
    $name2 "<a href=\"mailto:$email\" >$name</a>"; }

    //Also wenn die email leer ist ist name2 (das ist die
    //Variable die später in die datei geschreiben wird)
    //wenn sie jedoch beschreiben sit soll der name gleich
    //zeitich als link zu der email dienen.
    //Machen wir weiter

    if ($home == "")
    $homep ""; }
    else
    $homep "Homepage: <a href=\"http://$home\"; >$home</a>";}

    //Hier ist das selbe wie bei der email

    $text wordwrap($text52);
    $text nl2br($text);

    // Durch wordwrap machen wir nach 52 zeichen
    //in der variable text automatisch ein <br>
    //(einen zeilen umbruch)

    //mit nl2br erhalten wir die schreib form
    //des eintrags.
    $datum date("j F, Y, H:i:s");

    //mit date geben wir ein datum aus und
    //speichern es in eine Variable ab

    $input"

    <table border=\"0\">
    <tr>
    <td WIDTH=\"100%\" HEIGHT=\"3\" BGCOLOR=\"#000000\" >
    </td>
        <tr>
            <td WIDTH=\"500\"><strong>Von 
    $name2 am $datum </strong><br> $homep </td>
        </tr>
        <tr>
            <td WIDTH=\"500\">
    $text</td>
        </tr>
    </table>
    <br>

    $fp2

    "
    ;


    $del fopen("daten.txt","w+");
    fclose($del);

    //hiermit löschen wir den inhalt der datei
    //damit die Neuesten beiträge immer oben sind



    //so die variable input wollen wir nun in die datei
    //daten.txt schreiben.Dasmachen wir per fwrite
    fwrite($fp,$input);
    fclose($fp);
    echo 
    " Danke für den eintrag <br>bitte Schliessen sie dieses Popup Fenster.DANKE";

    }
    else
    { echo 
    "Fehler 001 Datei falsch geöffnet !";
    }
    ?>

    So im Grobben ist das GB nun fertig.
    Es siht nicht toll aus aber es funtzt.

    So nun fehlt aber noch der styl oder ?

    so dafür müssen wir die datei ausgabe.php
    Edieren bisher sah sie so aus :

    PHP-Code:
    <?php

    $filename 
    "daten.txt";
    $filenamepopup "popup.txt";


    $fp fopen ($filename"r+");
    $popup fopen ($filenamepopup"r+");
    $fp fread ($fpfilesize ($filename));
    $popup fread ($popupfilesize ($filenamepopup));

    echo 
    $popup;

    echo 
    $inhalt;

    echo 
    $popup;

    ?>
    Hier fehlt noch die css Formatierung

    also schreiben zuerst die css daten in die datei

    styl.txt die wir bisher nicht beachtet hatten
    wir nehmen folgenden css code :

    PHP-Code:

    <html>
    <
    head>

    <
    STYLE TYPE="text/css">

    body{background:#6a8b5c url([url]http://[/url]) no-repeat;}

    TD{font:11px Verdana,Arial,Geneva;color:#000000;text-decoration:None;}
    A.wmlink:link,A.wmlink:visited,A.wmlink:active,A.wmlink:hover{font:11px 

    Verdana
    ,Arial,Geneva;color:#0000FF;text-decoration:underline;} 
    A.b:link,A.b:visited,A.b:active{font:bold 11px 

    Verdana
    ,Arial,Geneva;color:#0000FF;text-decoration:None;}
    A.b:hover{font:bold 11px 

    Verdana
    ,Arial,Geneva;color:#FF0000;text-decoration:None;} 
    TD.h{font:bold 13px Verdana,Arial,Genevacolor:#000000; 

    text-decoration:None;}
    TD.b{font:bold 11px 

    Verdana
    ,Arial,Geneva;color:#000000;text-decoration:None;}
    INPUT.NL{font-family:monospace;font-size:12px;}
    TD.MONO {font-family:monospace;font-size:14px;}

    </
    STYLE>




    </
    head>
    </
    html
    um diese datei einzufüggen nutzen wir wieder fopen
    dan siht die ausgabe.php so aus :

    PHP-Code:
    <?php

    $filename 
    "daten.txt";
    $filenamepopup "popup.txt";
    $filenamecss "styl.txt";


    $fp fopen ($filename"r+");
    $popup fopen ($filenamepopup"r+");
    $css fopen ($filenamecss"r+");

    $fp fread ($fpfilesize ($filename));
    $popup fread ($popupfilesize ($filenamepopup));
    $css fread ($cssfilesize ($filenamecss));

    echo 
    $css;

    echo 
    $popup;

    echo 
    $fp;

    echo 
    $popup;

    ?>
    10.Das GB sicherheits UPDATE+Smillis

    Bisher haben wir eine leerabfrage gehabt.Leider
    kann es zu BUG bzw. Null einträgen führen wenn jemand
    anderer das GB kennt.Um den endgegen zu wirken
    verbinden wir nun die leer-abfrage und die schreibeen.php

    Also so sahen bisher ide beiden daten aus :

    leer-abfrage.php

    PHP-Code:
    <?php


    $text 
    ereg_replace("<","",$text);
    $text ereg_replace(">","",$text);

    $name ereg_replace("<","",$name);
    $name ereg_replace(">","",$name);

    $email ereg_replace("<","",$email);
    $email ereg_replace(">","",$email);

    $home ereg_replace("<","",$home);
    $home ereg_replace(">","",$home);
    $home ereg_replace("http://","",$home);

    // mit ereg_replace deactivieren wir html auf die einfachste
    // art und weisse.In dem wir < und > in "" umwandeln
    //(leerzeichen)


    if (empty($name)) {
    echo 
    "gib bitte einen namen ein"; }
    else {
    if (empty(
    $text)) {
    echo 
    "gib bitte einen text ein"; }

    else
    {
    echo 
    "<META HTTP-EQUIV=Refresh CONTENT=\"0 ;
    URL=schreiben.php?name=
    $name&email=$email&home=$home&text=$text&an=1\"> ";
    }
    }
    // wenn wir daten weiter geben wollen kann man das auch per
    //also
    //xyz.php?variablennamendendiesevariableaufder
    //nägstenseitehabensoll=$variable

    ?>
    Schreiben.php

    PHP-Code:
    <?php
    if($an == "1")
    {
    $filename "daten.txt";

    $fp fopen ($filename"r+");

    $fp2 fread ($fpfilesize ($filename));

    if (
    $email == "")
    $name2 $name ;
    }
    else {
    $name2 "<a href=\"mailto:$email\" >$name</a>"; }

    //Also wenn die email leer ist ist name2 (das ist die
    //Variable die später in die datei geschreiben wird)
    //wenn sie jedoch beschreiben sit soll der name gleich
    //zeitich als link zu der email dienen.
    //Machen wir weiter

    if ($home == "")
    $homep ""; }
    else
    $homep "Homepage: <a href=\"http://$home\"; >$home</a>";}

    //Hier ist das selbe wie bei der email

    $text wordwrap($text52);
    $text nl2br($text);

    // Durch wordwrap machen wir nach 52 zeichen
    //in der variable text automatisch ein <br>
    //(einen zeilen umbruch)

    //mit nl2br erhalten wir die schreib form
    //des eintrags.
    $datum date("j F, Y, H:i:s");

    //mit date geben wir ein datum aus und
    //speichern es in eine Variable ab

    $input"

    <table border=\"0\">
    <tr>
    <td WIDTH=\"100%\" HEIGHT=\"3\" BGCOLOR=\"#000000\" >
    </td>
        <tr>
            <td WIDTH=\"500\"><strong>Von 
    $name2 am $datum </strong><br> $homep </td>
        </tr>
        <tr>
            <td WIDTH=\"500\">
    $text</td>
        </tr>
    </table>
    <br>

    $fp2

    "
    ;


    $del fopen("daten.txt","w+");
    fclose($del);

    //hiermit löschen wir den inhalt der datei
    //damit die Neuesten beiträge immer oben sind



    //so die variable input wollen wir nun in die datei
    //daten.txt schreiben.Dasmachen wir per fwrite
    fwrite($fp,$input);
    fclose($fp);
    echo 
    " Danke für den eintrag <br>bitte Schliessen sie dieses Popup Fenster.DANKE";

    }
    else
    { echo 
    "Fehler 001 Datei falsch geöffnet !";
    }
    ?>
    nun verbinden wir diese beiden das siht dann so aus :

    wir nenen diese datei leer-abfrage.php
    und können nun die datei schreiben.php Löschen
    so siht dann die leer-abfrage.php aus :

    PHP-Code:
    <?php


    $text 
    ereg_replace("<","",$text);
    $text ereg_replace(">","",$text);

    $name ereg_replace("<","",$name);
    $name ereg_replace(">","",$name);

    $email ereg_replace("<","",$email);
    $email ereg_replace(">","",$email);

    $home ereg_replace("<","",$home);
    $home ereg_replace(">","",$home);
    $home ereg_replace("http://","",$home);

    // mit ereg_replace deactivieren wir html auf die einfachste
    // art und weisse.In dem wir < und > in "" umwandeln
    //(leerzeichen)


    if (empty($name)) {
    echo 
    "gib bitte einen namen ein"; }
    else {
    if (empty(
    $text)) {
    echo 
    "gib bitte einen text ein"; }

    else
    {

    $filename "daten.txt";

    $fp fopen ($filename"r+");

    $fp2 fread ($fpfilesize ($filename));

    if (
    $email == "")
    $name2 $name ;
    }
    else {
    $name2 "<a href=\"mailto:$email\" >$name</a>"; }

    //Also wenn die email leer ist ist name2 (das ist die
    //Variable die später in die datei geschreiben wird)
    //wenn sie jedoch beschreiben sit soll der name gleich
    //zeitich als link zu der email dienen.
    //Machen wir weiter

    if ($home == "")
    $homep ""; }
    else
    $homep "Homepage: <a href=\"http://$home\"; >$home</a>";}

    //Hier ist das selbe wie bei der email


    $text wordwrap($text52);
    $text nl2br($text);

    // Durch wordwrap machen wir nach 52 zeichen
    //in der variable text automatisch ein <br>
    //(einen zeilen umbruch)

    //mit nl2br erhalten wir die schreib form
    //des eintrags.
    $datum date("j F, Y, H:i:s");

    //mit date geben wir ein datum aus und
    //speichern es in eine Variable ab

    $input"

    <table border=\"0\">
    <tr>
    <td WIDTH=\"100%\" HEIGHT=\"3\" BGCOLOR=\"#000000\" >
    </td>
        <tr>
            <td WIDTH=\"500\"><strong>Von 
    $name2 am $datum </strong><br> $homep </td>
        </tr>
        <tr>
            <td WIDTH=\"500\">
    $text</td>
        </tr>
    </table>
    <br>

    $fp2

    "
    ;


    $del fopen("daten.txt","w+");
    fclose($del);

    //hiermit löschen wir den inhalt der datei
    //damit die Neuesten beiträge immer oben sind



    //so die variable input wollen wir nun in die datei
    //daten.txt schreiben.Dasmachen wir per fwrite
    fwrite($fp,$input);
    fclose($fp);
    echo 
    " Danke für den eintrag <br>bitte Schliessen sie dieses Popup Fenster.DANKE";



    }
    }


    ?>

    so siht doch schon recht ordentlich aus oder ?
    Jedoch habe ich oben was von Smillis gefasselt oder nicht ?

    Das kommt jetzt.

    Mit dem code wie man smillis einbaut kann man auch bb code einbauen es sit eigentlich GANZ easy.

    Zum testen nehmen wir nur 1 smilli
    mit dem code [gg].

    Wo müssen wir also rumbassteln ?

    In 2 datein in der ausgabe.php datei und in der
    eintrag.html datei.

    Fangen wir mit der ausgabe.php an siht siht bsiher so aus :

    PHP-Code:
    <?php

    $filename 
    "daten.txt";
    $filenamepopup "popup.txt";
    $filenamecss "styl.txt";


    $fp fopen ($filename"r+");
    $popup fopen ($filenamepopup"r+");
    $css fopen ($filenamecss"r+");

    $fp fread ($fpfilesize ($filename));
    $popup fread ($popupfilesize ($filenamepopup));
    $css fread ($cssfilesize ($filenamecss));

    echo 
    $css;

    echo 
    $popup;

    echo 
    $fp;

    echo 
    $popup;

    ?>
    nun fügen wir einen neuen code ein zwischen den
    beiden echo $popup; .

    Hier der code :

    $fp = str_replace("[gg]","<img src=\"http://forum.rpg-ring.com/forum/images/smilies/s_004.gif\">",$fp);
    so siht dann die ausgabe.php aus :

    PHP-Code:
    <?php

    $filename 
    "daten.txt";
    $filenamepopup "popup.txt";
    $filenamecss "styl.txt";


    $fp fopen ($filename"r+");
    $popup fopen ($filenamepopup"r+");
    $css fopen ($filenamecss"r+");

    $fp fread ($fpfilesize ($filename));
    $popup fread ($popupfilesize ($filenamepopup));
    $css fread ($cssfilesize ($filenamecss));

    echo 
    $css;

    echo 
    $popup;


    $fp str_replace("[gg]","<img src=\"http://forum.rpg-ring.com/forum/images/smilies/s_004.gif\">",$fp); 

    echo 
    $fp;

    echo 
    $popup;

    ?>
    so nun wird der code [gg] zwar als smilli dargestellt jedoch
    weiss das kein User.Also müssen wir was an der eintrag.html
    ändern wie oben schon gesagt.

    also so sah die datei eintrag.html bisher aus :

    PHP-Code:
    <html>
    <
    head>
    </
    head>
    <
    body>
    <
    form name="Formular" action="leer-abfrage.php" method="post">
    Ihr Name :<input type="text" size="20" name="name"><br>

    Ihre eMail Adresse:<input type="text" size="20" name="email"><br>

    Ihre Homepage :<input type="text" size="20" name="home"><br>


    Ihr Text :<textarea cols="50" rows="10" name="text" id="text"></textarea>
    <
    input type="submit" value="Abschicken">
    <
    input type="reset" value="Leeren" name="reset">

    </
    body>
    </
    html
    Wie machen wir das mit den smillis ?

    Per java mit diesem script

    <script language="JavaScript">
    <!--
    function setsmile(Zeichen) {
    document.Formular.text.value = document.Formular.text.value + Zeichen;
    }
    //-->
    </script>

    <a href="javascript:setsmile(' [gg] ')"><center><img src="http://forum.rpg-ring.com/forum/images/smilies/s_004.gif" border=0></center></a>

    und so siht das ganze eingebaut aus :

    PHP-Code:
    <html>
    <
    head>
    <
    script language="JavaScript">
    <!--
    function 
    setsmile(Zeichen) {
    document.Formular.text.value document.Formular.text.value Zeichen;
    }
    //-->
    </script>
    </head>
    <body>
    <form name="Formular" action="leer-abfrage.php" method="post">
    Ihr Name :<input type="text" size="20" name="name"><br>

    Ihre eMail - Adresse:<input type="text" size="20" name="email"><br>

    Ihre Homepage :<input type="text" size="20" name="home"><br>


    Ihr Text :<textarea cols="50" rows="10" name="text" id="text"></textarea>
    <a href="javascript:setsmile(' [gg] ')"><center><img src="http://forum.rpg-ring.com/forum/images/smilies/s_004.gif" border=0></center></a>
    <input type="submit" value="Abschicken">
    <input type="reset" value="Leeren" name="reset">

    </body>
    </html> 
    11.Das ADMIN Menu

    so nun ist das GB recht fertig.
    eigentlihc sollte das tut hier zu ende sein aber
    ich habe mir gedacht ein admin menu
    währe sehr nutzlich darum kommt hier das Admin Menu.

    Was wollen wir mit dem Admin Menu machen ?

    1.Wir wollen den styl edierenkönnen
    2.Wir wollen per mausklick Smillies hinzufügen können
    3.Wir wollen beitrege edieren können.

    Womit fangen wir an ? mit Punkt 2 fangen wir an

    als erstes legen wir eine datei an smillies.txt
    dann noch einen ordner für die smillies
    wir nenen ihn mal "sm-img" (ohne ") .

    also damit die einträge später in die datei smillies.txt
    auch was bringt edieren wir zuerst die datei ausgabe.php

    Sie sah bsiher so aus :

    PHP-Code:
    <?php

    $filename 
    "daten.txt";
    $filenamepopup "popup.txt";
    $filenamecss "styl.txt";


    $fp fopen ($filename"r+");
    $popup fopen ($filenamepopup"r+");
    $css fopen ($filenamecss"r+");

    $fp fread ($fpfilesize ($filename));
    $popup fread ($popupfilesize ($filenamepopup));
    $css fread ($cssfilesize ($filenamecss));

    echo 
    $css;

    echo 
    $popup;


    $fp str_replace("[gg]","<img src=\"http://forum.rpg-ring.com/forum/images/smilies/s_004.gif\">",$fp); 

    echo 
    $fp;

    echo 
    $popup;

    ?>
    so aus
    $fp = str_replace("[gg]","<img src=\"http://forum.rpg-ring.com/forum/images/smilies/s_004.gif\">",$fp);

    soll ein fopen werden.Dann siht die datei so aus :

    PHP-Code:
    <?php

    $filename 
    "daten.txt";
    $filenamepopup "popup.txt";
    $filenamecss "styl.txt";
    $filenamesmimg "smillies.txt";


    $fp fopen ($filename"r+");
    $popup fopen ($filenamepopup"r+");
    $css fopen ($filenamecss"r+");
    $sm fopen ($filenamesmimg"r+");


    $fp fread ($fpfilesize ($filename));
    $popup fread ($popupfilesize ($filenamepopup));
    $css fread ($cssfilesize ($filenamecss));
    $sm fread ($smfilesize ($filenamesmimg));

    echo 
    $css;

    echo 
    $popup;

    $sm ;

    echo 
    $fp;

    echo 
    $popup;

    ?>



    Zu testen sit es unter dieser URL

    http://dlcc.funpic.de/1234GB/ausgabe.php

    Geändert von dadie (24.07.2004 um 23:06 Uhr)

  9. #9
    Zitat Zitat
    Sorry habe mich verschreiben.Das sagt mir auch keiner.
    Nun, genau das sollte eben nicht passieren. Ich sage ja nichts, wenn sich hier und da Rechtschreibfehler im Text befinden (obwohl das auch manchen Eindruck hinterlassen kann), aber zumindest von Code erwartet man, dass der Autor ihn selbst testet bzw. wirklich weis, was er da schreibt (und ich denke, so leid es mir tut, bei dir ist das nicht der Fall).
    Zitat Zitat
    Wir bauen Heute ein GB mit allem Drum und dran.
    (leider Ohne admin Menu)
    Sehr wiedersprüchlich, oder?
    PHP-Code:
    echo "$fp
    Gibt "Resource id #2" aus.

    Was, wenn man schnell einen HTML Code per Gästebuch weitergeben möchte? Sieh dir mal die Funktion htmlspecialchars() an.

    Wenn du auf die schreiben.php per meta verweist, bringt dir die ganze leer-abfrage nichts, ich schreibe einfach schreiben.php?name=&email=&home=&text=&an=1.

    Zitat Zitat
    So im Grobben ist das GB nun fertig.
    Es siht nicht toll aus aber es funtzt.
    Das nenn ich die Höhe. Versuch's.

  10. #10
    @mitaki
    ok, das tut von dadie ist fehlerhaft...

    http://ihrname.funpic.de/Neuer%20Ordner/

    Aber fals du einen Fehler in meinem Tut siehst, dann sag mir bitte den Fehler und ich berichtige ihn gerne...

  11. #11
    @Crash-Override

    Ich habe meinen BUG gefunden (du anscheinend nicht)

    ich musste noch den fopen befehl per fread
    sichtbar machen oder so ka. hauptsache es funtzt.

    @mitaki

    Ich baue das Tut gerade auf es wir ein sehr sehr langes tut.

  12. #12
    Zitat Zitat
    Original geschrieben von dadie
    @Crash-Override

    Ich habe meinen BUG gefunden (du anscheinend nicht)

    ich musste noch den fopen befehl per fread
    sichtbar machen oder so ka. hauptsache es funtzt.

    @mitaki

    Ich baue das Tut gerade auf es wir ein sehr sehr langes tut.
    Ja, hab ich nciht. Wenn du ihn sieht, dann zeig ihn mir...

    Dein GB funzt nach wie vor net. Mit FireFox bekomm ich wnn ich n Eintarg machen will immer "Fehler. Zeitüberschreitung..."

    edit: Hab auf meinem server upgedatet, funzt aber genauso wenig sry.

    edit2:
    1.Fehler im Popup läd net wenn man eintragen.html "manuell" öffnet und alles eingibt kommt das hier:

    Code:
    Warning: fwrite(): supplied argument is not a valid stream resource in /usr/export/www/vhosts/funnetwork/hosting/ihrname/Neuer Ordner/schreiben.php on line 63
    
    Warning: fclose(): supplied argument is not a valid stream resource in /usr/export/www/vhosts/funnetwork/hosting/ihrname/Neuer Ordner/schreiben.php on line 64
    Danke für den eintrag
    bitte Schliessen sie dieses Popup Fenster.DANKE

    Geändert von Crash-Override (24.07.2004 um 06:07 Uhr)

  13. #13
    Eine kleine Frage?
    Warum macht ihr das so kompliziert und holt die entsprechenden Dateien nicht einfach mit include(); da rein?

    @ dadie
    Das mit den Smilies geht net

  14. #14
    es gibt einen grund warum ich kein include();
    nutz ich will doch noch ein Admin menu nutzen in dem man alles verstellen kann.

    Zu den smillies seid 5 Uhr morgen tüftel ich dran.

    Ich suche dne bug doch finden kann ich ihn noch nicht.

    EDIT BUG BEHOBEN

    Geändert von dadie (24.07.2004 um 22:44 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •