Pulldown an Textarea funkt nicht

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

  • Pulldown an Textarea funkt nicht

    Moinzen, ich brauch unbedingt ein Pulldown-Menü, welches mich aus einem Ordner Textdateien auswählen lässt und sie an eine Textarea übergibt. Hab auch einen fertigen Code gefunden, welcher aber ein Problem hat. Bin noch Anfänger, daher hab ich ihn nicht selbst geschrieben. Könnt ja mal gucken und mir Ansätze geben, wo der Fehler liegen könnte, dann versuch ich es selber mal.

    Hier der Code:

    PHP-Code:
    <form name="editieren" method="post" action="<?php $PHP_SELF ?>">
    <select name="filename" size="1">
    <?php
    $verz
    =opendir ('/opt/lampp/htdocs/sites/test');
    while (
    $file readdir ($verz)) {
    if(
    $file != "." && $file != "..") echo "<option value='$file'>$file</option>";
    }
    closedir($verz);
    echo 
    $file;
    ?>
    </select>
    <input type="submit" value="Bearbeiten"></form>

    <?php
    if(isset($_POST[filename])){
    $fp fopen ("$_POST[filename]""r+");
    $alt fread($fpfilesize($_POST[filename]));
    fclose ($fp);
    ?>

    <form action="<?php $PHP_SELF ?>">

    <textarea name="eingabe" cols="100" rows="20">
    <?php echo $alt?>
    </textarea>

    <input type="submit" value="Abschicken">
    <?php

    }

    ?>
    Und hier die Fehlermeldung:


    Warning: fopen(test.txt): failed to open stream: No such file or directory in /opt/lampp/htdocs/sites/site_change.inc.php on line 16

    Warning: filesize(): Stat failed for test.txt (errno=2 - No such file or directory) in /opt/lampp/htdocs/sites/site_change.inc.php on line 17

    Warning: fread(): supplied argument is not a valid stream resource in /opt/lampp/htdocs/sites/site_change.inc.php on line 17

    Warning: fclose(): supplied argument is not a valid stream resource in /opt/lampp/htdocs/sites/site_change.inc.php on line 18

  • #2
    "No such file or directory" sagt doch alles - falscher pfad.

    Kommentar


    • #3
      Ja schon, aber in dem Pulldown wird die test.txt aus dem Ordner auch angezeigt. Klicke ich auf bearbeiten, damit sie in die Textarea geladen wird, dann kommt der Fehler.

      Da kann doch nur hier:

      PHP-Code:
      $fp fopen ("$_POST[filename]""r+"); 
      irgendwie die Variable filename falsch sein. Und da hänge ich ja auch fest.

      Kommentar


      • #4
        das ist ja eine ultimative sicherheitslücke, was du da bastelst. ist dir das klar?

        ansonsten muss der pfad natürlich absolut sein, während du mit einem relativen umgehst.

        du solltest mit E_ALL und ohne register globals arbeiten.

        Kommentar


        • #5
          jep, aber das ganze is mit sessions über admin-menü gesichert. ausserdem soll eh nur eine person da dran. das geht schon klar.

          hab den pfad jetzt auf ('test/'); geändert, jetzt kommt nur noch die Fehlermeldung:

          Warning: fopen(test.txt): failed to open stream: Permission denied in /opt/lampp/htdocs/sites/site_change.inc.php on line 16

          Warning: fread(): supplied argument is not a valid stream resource in /opt/lampp/htdocs/sites/site_change.inc.php on line 17

          Warning: fclose(): supplied argument is not a valid stream resource in /opt/lampp/htdocs/sites/site_change.inc.php on line 18

          Gut was?!?
          Hast du keine Idee was es ist?


          Oder ist der Code-Schnipsel grundlegend falsch und ich frickel mir hier umsonst einen ab?
          Zuletzt geändert von suicidus; 17.12.2005, 17:19.

          Kommentar


          • #6
            [ ] du weißt, was ein absoluter pfad ist?

            Kommentar


            • #7
              ja
              http://adresse.org/bla/sites/
              wäre hier der absolute Pfad zum Ordner mit den Textdateien.

              Gebe ich den an, wird mir in der SelectBox aber wieder gar nix angezeigt.

              Kommentar


              • #8
                ja
                glaube ich nicht.

                nimm mal
                Code:
                /pfad/zum/fs/

                Kommentar


                • #9
                  Meinst du jetzt FileSystem oder was???

                  Kommentar


                  • #10
                    richtig.

                    Kommentar


                    • #11
                      $verz=opendir ('/opt/lampp/htdocs/sites/test/');

                      Nope, macht er auch nix bei.
                      Ist ja auch nicht das wahre, da ich das Script evtll weiterreichen möchte, wenns mal im ganzen ausgereift ist.

                      Kommentar


                      • #12
                        opendir? ich dachte, fopen() macht probleme...

                        Kommentar


                        • #13
                          Naja, Zeile 16 halt. Der Pfad wird da doch aus dem POST übernommen...

                          Ach ich weiss auch nicht mehr

                          Kommentar


                          • #14
                            Kann doch jetzt nicht sein das keiner weiss was da falsch ist

                            Kommentar


                            • #15
                              hör auf zu drängeln.

                              versuch lieber zu verstehen, was du falsch machst - ich habe dir gesagt, du sollst versuchen, einen absoluten pfad an fopen() zu übergeben.

                              Kommentar

                              Lädt...
                              X