Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP include Problem

Einklappen

Neue Werbung 2019

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

  • PHP include Problem

    Hallo zusammen,

    ich bekomm den include nicht richtig hin da er mit $_POST verknüpft ist und in <input action> stattfindet. Ich schätze es liegt an der Selektierung(ich mein " ").
    Jegliche Versuche mit ' ' \" ^\ funktionieren nicht bzw brachten keinen Erfolg.

    index.php
    PHP-Code:
    <form name="box1" method="post">
    <p>
    <select name="OS" size="1">
        <option>Cent_OS</option>
        <option>GParted</option>
        <option>Sea Tools</option>
    </select>
    <input type="submit" value=einlegen action="<?php include 'mount1.php'?>" >
    </p>
    </form>
    mount1.php
    PHP-Code:
    <?php
    exec
    ('c: & "C:\CSG_CDBOX\xampp\htdocs\mount_$_POST[OS].bat"');
    Ich bin nach vielen Versuchen total verwirrt und weiss nichmal ob der include notwenidig ist.
    Zum Verständnis:
    mount1.php soll batchfiles aufrufen.(Welche 100% funtkionieren)
    Die Batchfiles haben die Namen:
    mount_Cent_OS.bat
    mount_GParted.bat
    mount_Sea Tools.bat

  • #2
    Das mit dem Include ist totaler Schwachsinn in das Action Feld müsste "mount1.php" stehen, da dieses Script nach dem Klicken aufgerufen werden soll.

    Das Problem dass nichts passiert, wird an den einfachen Anführungszeichen liegen.
    Wenn du dort drinne eine Variable benutzt wird diese nicht von PHP interpretiert

    Beispiel:
    PHP-Code:
    $welt "Welt";

    echo 
    'Hallo $welt'# Ausgabe: Hallo $welt
    echo 'Hallo'.$welt# Ausgabe: Hallo Welt
    echo "Hallo $welt";# Ausgabe: Hallo Welt 
    Ich hoffe du verstehst worauf ich hinauswill

    Kommentar


    • #3
      Versuchs mal mit

      <input type="submit" value=einlegen action="mount1.php">

      Der include ist da total Fehl am Platz.

      Kommentar


      • #4
        Zitat von draco88 Beitrag anzeigen
        Versuchs mal mit

        <input type="submit" value=einlegen action="mount1.php">

        Der include ist da total Fehl am Platz.
        Okay, hab ich gemacht..
        Die .bat wird leider trotzdem nicht ausgeführt(keine Sorge soll serverlastig ausgeführt werden)
        wie siehts denn mit dem $_POST aus: ist da theoretisch richtig?

        Danke für die schnellen Antworten!!

        Edit:

        Habe unten folgendes noch eingebaut:
        PHP-Code:
        <?php
        echo "C:\CSG_CDBOX\xampp\htdocs\mount_$_POST[OS].bat";
        ?>
        Die Ausgabe ist nach der Änderung jetzt:
        "C:\CSG_CDBOX mpp\htdocs\mount_GParted.bat"
        Wo kommt denn das "mpp" her? Deswegen wirds wohl nicht gehen..

        Kommentar


        • #5
          PHP-Code:
          <form name="box1" method="post" action="mount1.php">
          <
          p>
          <
          select name="OS" size="1">
              <
          option>Cent_OS</option>
              <
          option>GParted</option>
              <
          option>Sea Tools</option>
          </
          select>
          <
          input type="submit" value=einlegen />
          </
          p>
          </
          form
          und dann

          PHP-Code:
          <?php
          exec
          ('c: & "C:\CSG_CDBOX\xampp\htdocs\mount_" . $_POST[OS] . ".bat"'); 
          ?>
          -------------------------
          mb-medieninformatik.de

          Kommentar


          • #6
            Danke,
            der Aufruf klappt zwar aber da hängt dieses angesprochene "mpp" vor ???
            Klar das der Pfad dann nicht richtig ist. Ich habs nirgends im Quellcode stehen..
            verteh ich nicht-.-'

            Wie kann ich denn den Aufruf unterdrücken, dass quasi auf bleibt und mount1.php nur im hintergrund aufgerufen wird?

            Danke schon mal bis hier hin!

            Edit:
            PHP-Code:
            echo "C:\CSG_CDBOX\xampp\htdocs\mount_" $_POST[OS] . ".bat" 
            "\xa" wird verschluckt ! häää?

            Kommentar


            • #7
              Zitat von puser132 Beitrag anzeigen
              PHP-Code:
              echo "C:\CSG_CDBOX\xampp\htdocs\mount_" $_POST[OS] . ".bat" 
              "\xa" wird verschluckt ! häää?
              Probier mal einfache Anführungszeichen zu verwenden ' ' das könnte das verschlucken beheben

              @MB-Medieninfo
              Du hast da noch die einfachen Anführungszeichen vergessen
              Es müsste so aussehen:
              PHP-Code:
               <?php 
              exec
              ('c: & "C:\CSG_CDBOX\xampp\htdocs\mount_"' $_POST[OS] . '".bat"');  
              ?>

              Kommentar


              • #8
                Juhuuu Das mounten klappt sehr geil!

                Kann man den mount1.php unterdrücken oder sollte ich dann alles in der index.php selber machen? mit function wenn ich mich recht errinnere.. ?
                Danke an alle, ich war schon am verzweifeln

                Kommentar


                • #9
                  Es müsste so aussehen:
                  PHP-Code:
                   <?php 
                  exec
                  ('c: & "C:\CSG_CDBOX\xampp\htdocs\mount_"' $_POST[OS] . '".bat"');  
                  ?>
                  Quark.

                  Kann man den mount1.php unterdrücken oder sollte ich dann alles in der index.php selber machen?
                  Kann man unverständliche Fragen unterlassen oder soll ich alles selber machen?
                  [COLOR="#F5F5FF"]--[/COLOR]
                  [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                  „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                  [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                  [COLOR="#F5F5FF"]
                  --[/COLOR]

                  Kommentar


                  • #10
                    ODER man liest; denkt; denkt noch mal; und klickt weiter.
                    Sonst hätte man sicher keine 24.910 Beträge von denen mit Sicherheit über 90% polemisch und unangebracht sind.

                    Kommentar


                    • #11
                      Nur weil DU Deine eigene Frage verstehst, heißt das nicht, dass sie vernünftig gestellt ist. Also halt mal den Ball flach Mr. 5 Beiträge..
                      [COLOR="#F5F5FF"]--[/COLOR]
                      [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                      [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                      [COLOR="#F5F5FF"]
                      --[/COLOR]

                      Kommentar


                      • #12
                        Du musst Backslashes escapen. Backslashes sind ein Escapezeichen, heißt dass du damit Zeichen maskieren kannst um andere (ich nenne es jetzt mal) Effekt zu erreichen.
                        Du kannst z.b. in einem String ein Anführungszeichen verwenden, wenn du es vorher escapesd (\") ein n escaped ist ein Zeilenumbruch... etc..
                        Allerdings musst du um den backslash selber nutzen zu können diesen auch escapen: \\

                        Kommentar


                        • #13
                          Bin selbst nicht so pfiffig wie Mr. 24.911 aber hab Deinen Quelltext mal so ausprobiert. Abgesehen davon, dass der value-Wert in "" sollte. Ob mit oder ohne include, in jedem Fall wird im Quelltext des Browsers nach Aufruf der Datei der Inhalt von der einbezogenen Datei angegeben. Damit ist Dein Ansatz, diese Datei erst mit Betätigung des submit aufzurufen nicht erfüllt. Hier wäre ein OnClick angebracht. Schließlich fehlt im form auch noch der Eintrag action="" - wohin auch immer. Vielleicht hilft dieser Denkansatz

                          Kommentar


                          • #14
                            ... oder Du löst es ganz anders (ohne JavaScript):

                            <input type="submit" value="einlegen" name="button1">

                            ........

                            if(isset($_REQUEST["button1"]))
                            {
                            include("mount1.php");
                            }

                            Kommentar


                            • #15
                              Kann man den mount1.php unterdrücken
                              Und was heißt das nun? Wurde immer noch nicht beantwortet.. Antwortet ihr alle ins Blaue hinein oder?
                              [COLOR="#F5F5FF"]--[/COLOR]
                              [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                              [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                              [COLOR="#F5F5FF"]
                              --[/COLOR]

                              Kommentar

                              Lädt...
                              X