Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 22

Thema: Anfängerproblemchen...

  1. #1
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828

    Anfängerproblemchen...

    So, hab mich entschieden, auch mal ein wenig PHP anzuschauen. Folgende Fragen:

    - Kennt jemand einen guten gratis-Webhoster mit PHP-Support? (bin im moment bei home.pages.at)

    - home.pages.at hat keine Datenbankunterstützung - heisst das auch, dass ich keine Dateien öffnen und lesen kann (bzw. schreiben)?

    - Falls nicht:
    Ich hab folgenden Code, auf dem Server ist im selben Verzeichnis die Datei guest.txt angelegt. In diese Datei hab ich "1" (ohne Anführungszeichen) geschrieben;
    PHP-Code:
    <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>PHP Test1</title>
    <meta name="description" content="PHP Test1">
    <meta name="author" content="Administrator">
    <meta name="generator" content="Ulli Meybohms HTML EDITOR">


    </head>
    <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">

    <?php
        $filename 
    ="guest.txt";
             
    $datei fopen($filename"r+");
             
    $count fread($dateifilesize($datei));
             echo 
    $count."<br>";
             echo 
    "Sie sind der ".++$count."-ste Besucher!<br>";
             echo 
    $count;
             
    fwrite($datei$count);
             
    fclose($datei);
    ?>

    </body>
    </html>
    Folgender Code sollte mir ja eigentlich folgendes ausgeben:

    Code:
    1
    Sie sind der 2-ste Besucher!
    2
    Er gibt mir aber
    Code:
    Sie sind der 1-ste Besucher!
    1
    aus. Auch nach mehrmaligem Ausführen steht immer noch 1 in der Textdatei...

    Stimmt der Code nun nicht oder darf ich nicht auf die Datei zugreifen/bzw. kann sie nicht lesen?

    Danke für die Hilfe,

    mfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  2. #2
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Der ++$variable Operator funktioniert bei PHP nicht...

    http://www.php.net/manual/en/language.operators.php

    Gruß,

    Gaert


  3. #3
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Vergiss was ich oben geschrieben habe... er exisitert und funktioniert - is nur in der Tabelle nicht aufgeführt...


  4. #4
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Lösung:
    PHP-Code:
    <?php

    $filename 
    ="guest.txt";
    $datei fopen($filename"r");
    $count fread($dateifilesize($filename));
    fclose($datei);
    echo 
    $count."<br>";
    echo 
    "Sie sind der ".++$count."-ste Besucher!<br>";
    echo 
    $count;
    $datei fopen($filename"w+");
    fwrite($datei$count);
    fclose($datei);

    ?>


  5. #5
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Jetzt hab ich folgende (leider immer gleich bleibende) Ausgabe:

    Code:
     1
    Sie sind der 2-ste Besucher!
    2
    Es kann scheinbar nicht in die Datei schreiben...

    Irgendwelche Ideen?

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  6. #6
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Wo nichts ist (sprich Datei leer = 0Byte) kann auch keine inkrement Operator eingesetz werden.
    PHP-Code:
    <?php
    function logit() {
        
    $filename ="guest.txt";
        
    $datei fopen($filename"r+");
        
    $count = @fread($dateifilesize($filename));
        
    fclose($datei);
        
    $datei fopen($filename"w+");
        
    $str "ALT:" $count."<br>";
        
    $count = ($count == null) ? : ++$count;
        
    fwrite($datei$count);
        
    fclose($datei);
        return 
    $str " Neu:" $count;
    }

    echo 
    logit();
    ?>
    PS: Schalte mal dein Error repording richtig ein. Normalerweise hätte der PHP-Parser meckern müssen bei fread
    Geändert von undefined (27-05-2004 um 16:31 Uhr)

  7. #7
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    @undefined: Kannst du mir dein Beispiel und deinen Kommentar noch etwas erläutern? Ich hab heute mit PHP angefangen und das Beispiel teilweise aus einem Tut abgeschrieben...

    Vielen Dank, Bischi

    PS: Deine Variante geht auch nicht...

    Code:
    ALT:
    Neu:1
    Jedes mal die selbe ausgabe...
    Geändert von bischi (27-05-2004 um 18:49 Uhr)

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  8. #8
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    @Bischi:
    Die Datei muss natürlich bereits mit 0 initialisiert sein, sonst funktioniert das nicht - hat undefined aber bereits erwähnt.


  9. #9
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Original geschrieben von bischi
    PS: Deine Variante geht auch nicht...
    Ich glaube du hast hier einen kleinen Denkfehler.
    Ein PHP Script wird nur einmal zur laufzeit aufgerufen drücke mal F5 damit die Seite öfters geladen wird.
    An sonsten eine Schleife zum testen der Funktion nehmen.
    PHP-Code:
    for ( $i 0$i 10$i++ ) {
        echo 
    logit() . "<br />";

    PS: Welches System Linux oder Win?

  10. #10
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Ich glaube du hast hier einen kleinen Denkfehler.
    Ein PHP Script wird nur einmal zur laufzeit aufgerufen drücke mal F5 damit die Seite öfters geladen wird.
    An sonsten eine Schleife zum testen der Funktion nehmen.
    Wohl schon, aber nicht an dieser Stelle: Hab mehrmals auf relaod gedrückt, Enter in die Adresszeile gedrückt, Browser neu geöffnet...

    Ich benutze windows, hat wohl aber nichts mit der Sache zu tun. Ich denke mal, dass mein Host (home.pages.at) mit Datei-Schreiben etwas blöde tut (das lesen hat mit Gaerts Vorschlag ja geklappt). Naja, werd mich mal nach nem anderen Free-Webspace-Provider umsehen, der PHP unterstützt und melde mich wieder.

    Danke auf jeden Fall für die Hilfe,

    mfG Bischi

    Die Datei muss natürlich bereits mit 0 initialisiert sein, sonst funktioniert das nicht - hat undefined aber bereits erwähnt.
    Steht ne 1 drin.

    @Claudine: Danke, soweit war mir das einigermassen klar, hatte vor allem mit folgenden Zeilen meine Mühe:

    Wieso eine Funktion definieren? (Ist das einfach schöner so, oder hat das nen besonderen Sinn?)

    $count = @fread($datei, filesize($filename)); Was macht das @ hier?

    $count = ($count == null) ? 1 : ++$count; Was bedeutet diese Zeile? (ist das ne Art if?)

    und: Das mit dem Parser einstellen - macht das der Server oder kann ich das machen?
    Geändert von bischi (28-05-2004 um 08:32 Uhr)

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  11. #11
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    So, hab nen neuen Host gefunden: (www.funpic.de)

    Es laufen nun sowohl Gaerts als auch undefineds Beispiel einwandfrei. Bei meiner Anfangsvariante kommt ne Fehlermeldung.

    Danke auf jeden Fall und ich werde mich schleunigst wieder melden

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  12. #12
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Wieso eine Funktion definieren? (Ist das einfach schöner so, oder hat das nen besonderen Sinn?)
    einfach, schöner angewohnheit

    $count = @fread($datei, filesize($filename)); Was macht das @ hier?
    Unterdrückt fehlermeldungen die zum Abbruch des Programms führen könnten

    $count = ($count == null) ? 1 : ++$count; Was bedeutet diese Zeile? (ist das ne Art if?)
    Ja - Ist ein so genanter Trinärer oder Drenärer Bedingungsoperator und kommt von C

    und: Das mit dem Parser einstellen - macht das der Server oder kann ich das machen?
    Sie PHP Manual error_reporting

  13. #13
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Ok, thx.

    Noch ne Frage: Ich möchte mit einem HTML-Link sowohl ein PHP-Script ausführen (als counter) als auch einen Datei zum herunterladen anbieten. Ich will somit sehen, wie oft die datei heruntergeladen wird. Geht das?

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  14. #14

  15. #15
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    @undefined: Thx, genau, was ich gesucht habe

    @claudine: Sicherlich braucht alles seine Zeit - mir geht es bei solchen Beispielen eher darum, mal einen Überblick über die Sprache zu gewinnen. Da ich einigermassen Java kann und auch C/C++ vor längerer Zeit mal auf Kommandozeilenbasis angeschaut habe, geht es mir in erster Linie darum, Unterschiede und Gemeinsamkeiten zu finden. Ich könnte jetzt einfach zwei Bücher durcharbeiten (zu wenig Zeit dafür) oder mir konkret zu interessanten Beispielen meine Infos zusammenzusuchen.

    MfG Bischi

    PS: Hab das Buch PHP4 - Grundlagen und Profiwissen als PDF, 1100 Seiten - glaub, das sollte für den Anfang reichen...

    PS2: Falls jemand eine gute und vielleicht kürzere einführung als Link kennt...

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

Lesezeichen

Berechtigungen

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