PHP User können Dateinamen bestimmen

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

  • PHP User können Dateinamen bestimmen

    Hallo Foum User
    Ich habe mir letztens eine Form zusammen "gebaut" und wollte was wissen:

    Meine Form:

    HTML-Code:
    <center>
    <form method="post" action="make.php">
    <body bgcolor="#000000">
    
    <table width="40%" border="0" cellpadding="0" cellspacing="0">
     <tr>
      <td><font color="#FFFFFF">Servername:</font></td>
      <td><input type="text" name="Servername"><br> </td>
     </tr>
     <tr>
      <td><font color="#FFFFFF">Spiel:</td>
      <td><input type="text" name="spiel"><br></td>
     </tr>
     <tr>
      <td><font color="#FFFFFF">Adminname:</td>
      <td><input type="text" name="adminname"><br></td>
     </tr>
     <tr>
      <td><font color="#FFFFFF">Server IP:</td>
      <td><input type="text" name="Serverip"><br></td>
     </tr>
      <tr>
      <td><font color="#FFFFFF">Serverhomepage:</td>
      <td><input type="text" name="Serverhomepage"><br></td>
     </tr>
      <tr>
      <td><font color="#FFFFFF">Weitere Infos:</td>
      <td><input type="text" name="WeitereInfos"><br></td>
     </tr>
    </table>
    <input type="submit" name="Button" value="Weiter">
    </form>
    </center>
    Mein Problem (bin schon am verzweifeln):
    Ich möchte, das wenn der User in das Feld "Servername" einen Namen eingebt, erstellt er automatisch eine .html Datei auf meiner Webspace mit dem Namen, den der user eingegeben hat.

    Ich hatte den PHP code benutzt, aber der funktioniert nicht. was muss ich ändern:

    Hier mein PHP-Code

    PHP-Code:
    <?php
    $servername
    =$_POST[servername]."
    $serervname = fopen("$servername.html", "a");
    ?>
    Bitte um eine Lösung, bin am verzweifeln
    serverdose.ohost.de --> hier soll später das formular rein
    Danke schon mal.

  • #2
    Hallo,

    warum verrätst du uns die Fehlermeldung(en) nicht? Ich vermute mal es ist ein Parse Error. Das Anführungszeichen am Ende der 1. Zeile passt dort irgendwie gar nicht. Wenn das nur ein Kopierfehler ist: könnte es eventuell schon an dem Tippfehler liegen ($serervname statt $servername)?

    Dann finde ich es nicht besonders sinnvoll, eine HTML-Datei im Modus a zu öffnen. Außerdem ist äußerste Vorsicht geboten, wenn man mit Formulardaten ungeprüft Dateisystemoperationen aufruft. Ein Angreifer könnte dir sonstwas als Servernamen anbieten.

    Gruß,

    Anja
    Zuletzt geändert von AmicaNoctis; 04.09.2009, 13:48.
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Wie wäre es mit touch? Allerdings: Der PHP-Prozess muss die entsprechenden Berechtigungen auf das Verzeichnis haben, wohin die Datei geschrieben werden soll und vor allem: Übernimm den Namen auf gar keinen Fall ungeprüft! Das ist ein Scheunentorgroßes Sicherheitsproblem!

      P.S.: Außerdem hast du einen Syntax-Fehler in dem von dir zitierten Code! Das Highlighting des Forums sollte dich da schon drauf aufmerksam gemacht haben!
      [FONT="Helvetica"]twitter.com/unset[/FONT]

      Shitstorm Podcast – Wöchentliches Auskotzen

      Kommentar


      • #4
        Danke für die antworten

        Ich werd sie jetzt gleich mal austesten
        Danke, bei problemen meld ich mich wieder

        Kommentar


        • #5
          oh jetzt bringt er mir den fehler hier

          Parse error: syntax error, unexpected T_VARIABLE in /usr/export/www/hosting/serverdose/servers/tests/make.php on line 3

          Kannst mir mal den ganzen code aufschreiben, wie er gehört?
          Währe dankbar

          Kommentar


          • #6
            Wie sieht denn dein aktueller Code aus?
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              Ich hab doch gesagt, dass da ein Syntaxfehler ist!
              [FONT="Helvetica"]twitter.com/unset[/FONT]

              Shitstorm Podcast – Wöchentliches Auskotzen

              Kommentar


              • #8
                Der sieht so aus, weiß aber nicht ob er stimmt
                PHP-Code:
                <?php
                $servername
                =$_POST[servername].
                $servername fopen("$servername.html""a");
                ?>
                Kannst mir das mit dem Syntaxfehler bitte mal erklären?
                Zuletzt geändert von matzeeeeable; 04.09.2009, 14:36.

                Kommentar


                • #9
                  Du weißt ganz sicher, dass es nicht stimmt. Cem und ich haben dich auf den Syntaxfehler hingewiesen und PHP macht das auch. Der Punkt muss durch ein Semikolon ersetzt werden.
                  [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                  Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                  Super, danke!
                  [/COLOR]

                  Kommentar


                  • #10
                    Zitat von AmicaNoctis Beitrag anzeigen
                    Du weißt ganz sicher, dass es nicht stimmt. Cem und ich haben dich auf den Syntaxfehler hingewiesen und PHP macht das auch. Der Punkt muss durch ein Semikolon ersetzt werden.
                    Semikolon? ;?

                    Kommentar


                    • #11
                      OMG!
                      PHP-Code:
                      <?php
                      $servername
                      =$_POST["servername"];
                      $fileHandle fopen($servername ".html""a");
                      ?>
                      Dann verwendest du bitte für fwrite die Variable $fileHandle, sonst weißt du bald selbst nicht mehr, was $servername nun eigentlich sein soll.
                      Zuletzt geändert von AmicaNoctis; 04.09.2009, 14:47.
                      [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                      Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                      Super, danke!
                      [/COLOR]

                      Kommentar


                      • #12


                        Funktioniert alles PERFEKT

                        Aber den namen den ich am anfang eingeb, heißt nicht so in der html datei

                        Kommentar


                        • #13
                          Zitat von matzeeeeable Beitrag anzeigen
                          Aber den namen den ich am anfang eingeb, heißt nicht so in der html datei
                          Was bedeutet das auf "verständlich"?
                          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                          Super, danke!
                          [/COLOR]

                          Kommentar


                          • #14
                            Oh lol, falsch beschrieben sry.

                            Ja also ich gib ja in dem Formular den servernamen ein
                            aber die datei die erstellt heißt nur .html, soll aber eigentlich so heißen, wie ich eingegeben habe. geht das überhaupt?

                            Kommentar


                            • #15
                              Zitat von matzeeeeable Beitrag anzeigen
                              Ja also ich gib ja in dem Formular den servernamen ein
                              aber die datei die erstellt heißt nur .html, soll aber eigentlich so heißen, wie ich eingegeben habe. geht das überhaupt?
                              Vielleicht solltest du dich an deine eigenen Namenskonventionen halten. Wenn du "Servername" im Formular groß schreibst und im PHP-Skript aber klein, kann es nicht funktionieren.

                              Bitte denk doch wenigstens ein kleines bisschen selber mit, ja?
                              [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                              Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                              Super, danke!
                              [/COLOR]

                              Kommentar

                              Lädt...
                              X