php programmierung für Einsteiger

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

  • php programmierung für Einsteiger

    Ich arbeite gerade das Buch "PHP 4" von Thomas Theis
    Webserver-Programmierung für Einsteiger durch.
    Wenn ich die datei ug05.htm aus dem Kapitel G.4 Anhängen an eine Textdatei auf einen Server hochlade und starte, bekomme ich folgende Fehlermeldung:
    Warning: fopen(ug05data.txt): failed to open stream: Permission denied in /home/vhosts/ericnorbertfalbe.liveline.de/ug05.php on line 4
    Datei konnte nicht zum Schreiben geöffnet werdenZurück zur Eingabe

    Die Datei habe ich dort erstellt.
    Das Programm müsste sie finden.

  • #2
    mal vorweg: ich habe das buch weder gelesen noch greifbar und ich denke, es geht mir nicht alleine so.

    "Permission denied" klingt aber eher so, als wäre die datei schreibgeschützt. versuch doch mal ne chmod - änderung.
    **********
    arkos
    **********

    Kommentar


    • #3
      mögliche gründe:

      wie mein vorredner schon sagte: dateimaske falsch gesetzt (der user unter dem der php-prozess läuft hat keine schreibrechte entweder für die datei oder aber im gesamten dir). Lösung: Die schreibrechte mit chmod einstellen.

      oder: php läuft im "safe-mode", die datei wurde per ftp erstellt, der user für ftp ist nicht der user für php. Im Safe mode können nur selbst erzeugte dateien wieder verändert werden. Lösung: die Datei nicht per ftp erstellen, sondern von einem anderen php-script erzeugen lassen. oder aber die datei hochladen und anschließend den eigentümer wechseln (chown).

      wenn das alles nicht hilft, baseballschläger kaufen und zum provider fahren *sfg*

      greetz, high
      Good programming is 40% experience, 20% skill, 20% RTFM, 15% caffeine, and 5% attention to detail.
      When everything else fails, manipulate the data...
      Beschriftungen / Großformatdruck / Werbemittel

      Kommentar


      • #4
        Das Buch findest du unter http://www.galileocomputing.de/openbook/php4/index.htm
        Es ist dort komplett im Internet.

        Du hattest recht.
        Ich habe die Datei für freien Zugriff freigegeben.
        Und mann kann jetzt Daten an sie senden.
        Aber ich habe komischerweise nur ";" im file und keine ganzen Wörter.


        Hier ist der Code:
        <html>
        <body>
        <?php
        $fp = fopen("ug05data.txt","a");
        if ($fp)
        {
        flock($fp,2);
        $nl = chr(13) . chr(10);
        fputs ($fp, "$nn;$vn;$sr;$hn;$pz;$st$nl");
        echo "Vielen Dank, $vn $nn<p>";
        echo "Ihre Angaben wurden gespeichert<p>";
        flock($fp,3);
        fclose($fp);
        }
        else
        {
        echo "Datei konnte nicht zum";
        echo " Schreiben geöffnet werden";
        }
        ?>
        Zurück zur <a href="ug05.htm">Eingabe</a>
        </body>
        </html>

        Kommentar


        • #5
          stichwort: register globals

          $_POST['nn'] etcpp

          grüße
          Zuletzt geändert von hall; 05.07.2006, 14:17.
          mfg

          Kommentar


          • #6
            $_POST['nn'] etcpp
            und zu dem stichwort: ich würde dir empfehlen, vielleicht doch gleich mit einem php5-buch zu lernen. wie du an $_POST siehst, gab es doch die eine oder andere änderung.
            **********
            arkos
            **********

            Kommentar


            • #7
              und dein error_reporting hochschrauben. sieh Regeln.

              Kommentar


              • #8
                Wenn ich $_POST['nn'] benutze, bekomme ich folgende Fehlermeldung:
                Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /home/vhosts/ericnorbertfalbe.liveline.de/ug05.php on line 9

                Wo finde ich etwas über den $_POST[''] Befehl?

                Kommentar


                • #9
                  Original geschrieben von EricFa

                  Wo finde ich etwas über den $_POST[''] Befehl?
                  Hier: http://de.php.net/manual/de/reserved...variables.post

                  Kommentar


                  • #10
                    $_POST ist kein Befehl!!
                    Sondern ein superglobales Array!!

                    Suche mal nach "superglobal array post get"
                    Wir werden alle sterben

                    Kommentar


                    • #11
                      Original geschrieben von combie
                      $_POST ist kein Befehl!!
                      Sondern ein superglobales Array!!
                      Das wollte ich auch noch schreiben, aber mit Höhrer am Ohr will man nicht so viel tippen

                      Kommentar


                      • #12
                        Was genau ist ein superglobales Array?
                        Und wie bekomme ich die Variablen in das Textfile?

                        Kommentar


                        • #13
                          wie man strings richtig benutzt:

                          http://php3.de/manual/de/language.types.string.php

                          in deinem fall

                          fputs ($fp, "$_POST[nn];$vn;$sr;$hn;$pz;$st$nl");

                          lesen:

                          http://de2.php.net/manual/de/languag...predefined.php
                          mfg

                          Kommentar


                          • #14
                            Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING'
                            das schreit aber nicht danach, dass dein $_POST['nn'] falsch ist. der ist richtig geschrieben. du hast in oder in der nähe von zeile neun einen einfachen syntax-fehler.
                            **********
                            arkos
                            **********

                            Kommentar


                            • #15
                              post

                              Wieso nur für die Variable nn?

                              Kommentar

                              Lädt...
                              X