Ankündigung

Einklappen
Keine Ankündigung bisher.

variable übergeben

Einklappen

Neue Werbung 2019

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

  • variable übergeben

    hallo an alle,

    der kleine codeschnipsel soll in 3 schritten geht nicht anders,
    eine belibige datei (formular) öffnen.

    im ersten ("select") existieren vorgegebene verzeichnisse, die
    eingetragen sind.

    der zweite schritt ("select") liest durch vergabe der variablen das gewählte
    verzeichnis, entfernt dateindung und trägt diese in auswahlliste ein.

    der dritte schritt sollte nun die datei aus den verzeichnis öffnen,
    jedoch habe ich keinen schimmer, wie ich die variable für


    echo "<form action=\"$verz/\" method=\"post\">";

    innerhalb der selben datei übergeben kann.

    mit einer zweiten datei funktioniert alles, darf aber nicht sein,
    da ich diese zweite datei in jedes verzeichnis ablegen müsste und
    diese dann in der "selct" sichtbar währe.


    kann mir jemand helfen wie ich die variable an selbiges formular (... _self)

    echo "<form action=\"$verz/!!! hier muss variable $datei hin !!!! \" method=\"post\">";

    übergeben kann.

    hier der code:
    ==============


    <?php

    if (isset($_POST["Submit"]))
    {
    if ($_POST["verz"] == "0")
    {
    echo "<div align=\"center\">Sie haben keine Auswahl vorgenommen!</div>
    ";
    }
    else
    {
    $verz = $_POST["verz"];

    echo "<div align=\"center\">Sie haben sich für $verz entschieden </div>";
    echo "<form action=\"$verz/\" method=\"post\">";
    echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"4\" align=\"center\">";
    echo "<tr>";
    echo "<div align = \"center\"><select name=\"datei\" size=\"1\"></div> \n";

    $verz = dir ($_POST["verz"]);
    while (($datei = $verz->read()) !==false)
    {
    $datei = substr($datei,0,strrpos($datei,'.'));
    if (($datei != '') and ($datei != '.'))
    echo"<option value=\"$datei.php\"> $datei </option> \n";

    }

    echo "</tr>";
    echo "<tr>";
    echo "<td align=\"center\"><input type=\"submit\" name=\"Submit\" value=\"weiter\"></td>";
    echo "</tr>";
    echo "</table>";
    echo "</form>";
    echo "</select>";

    echo $datei;

    $verz->close();

    }
    }
    else
    {
    echo "<div align=\"center\"> Führen Sie zunächst eine passende Auswahl durch!</div>";
    echo"<form action=\"\" method=\"post\">";
    echo"<table border=\"0\" cellspacing=\"0\" cellpadding=\"4\" align=\"center\">";
    echo"<tr>";
    echo"<td align=\"center\"><select name=\"verz\" size=\"1\">";
    echo"<option value=\"0\">Bitte w&auml;hlen Sie!</option>";
    echo"<option value=\"verzeichnis01\">verzeichnis01</option>";
    echo"<option value=\"verzeichnis02\">verzeichnis02</option>";
    echo"<option value=\"verzeichnis03\">verzeichnis03</option>";
    echo"<option value=\"verzeichnis04\">verzeichnis04</option>";
    echo"</select></td>";
    echo"</tr>";
    echo"<tr>";
    echo"<td align=\"center\"><input type=\"submit\" name=\"Submit\" value=\"weiter\"></td>";
    echo"</tr>";
    echo"</table>";
    echo"</form>";
    }

    ?>


  • #2
    action="$_SERVER[PHP_SELF]"

    und vileicht mal das hier noch anschauen:
    http://tut.php-q.net/formulare.html

    (sry das es doppelt steht, aber das Forum macht den Fehler, ich habs ned doppelt geschrieben)
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      danke erst einmal, geht aber nicht, da die variable nicht gefunden werden kann.

      im browser sieht das so aus:

      http://domain.de/verzeichnis01/verzeichnis01/ hier müsste die datei stehen

      steht sie aber nicht und kann folglich nicht gefunden werden.

      habe es so geändert:

      echo "<form action=\"action=\"$verz/$_SERVER[PHP_SELF]\" method=\"post\">";


      das script funktioniert ja soweit ausschließlich die übergabe der variable.


      bei mir auch doppelt entschuldige war ich auch nicht.

      Kommentar


      • #4
        wenn du wilst das die Variable über die URL weitergegeben wird musst du anstelle von "POST" "GET" verwenden.

        in deinem Fall kannste aber ruhig POST lassen, bzw. solltest du den sonst müsste das Script an sich wieder angepasst werden, wenn du das Formular in der gleichen Datei auswerten wilst, dann stimmt das schon was ich dir gesagt habe..

        ein
        Code:
        <form action="<?php echo $PHP_SELF;?>" method="post">
        würde es warscheinlich auch tun..
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          habe es getestet local und server, aber irgendwie will das nicht klappen.

          dieser teil ist der dritte schritt, also die auswahl der datei:
          ....
          $verz = $_POST["verz"];

          echo "<div align=\"center\">Sie haben sich für $verz entschieden </div>";
          echo "<form action=\"$verz/\" method=\"post\">";
          echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"4\" align=\"center\">";
          echo "<tr>";
          echo "<div align = \"center\"><select name=\"datei\" size=\"1\"></div> \n";

          $verz = dir ($_POST["verz"]);
          while (($datei = $verz->read()) !==false)
          ....

          die variable $verz welche richtig ist in

          echo "<form action=\"$verz/\" method=\"post\">";

          kann ich nicht wegmachen oder mit
          <form action="<?php echo $PHP_SELF;?>" method="post">

          ersetzen. habe auch experimentiert aber will irgendwie nicht.

          mit $_SERVER[PHP_SELF] hast du aber vollkommen recht, do in meinem fall....?

          trotzdem danke

          Kommentar


          • #6
            im action gibt man an wo die daten hingeschickt werden, dass muss eine Datei sein, das kann doch nicht ein Verzeichnis sein, sorry aber ich verstehe dein Problem kein bischen
            Wie man Fragen richtig stellt

            Kommentar


            • #7
              im ersten schritt steht das verzeichnis in der select liste hier:
              echo "<div align=\"center\"> Führen Sie zunächst eine passende Auswahl durch!</div>";
              echo"<form action=\"\" method=\"post\">";
              echo"<table border=\"0\" cellspacing=\"0\" cellpadding=\"4\" align=\"center\">";
              echo"<tr>";
              echo"<td align=\"center\"><select name=\"verz\" size=\"1\">";
              echo"<option value=\"0\">Bitte w&auml;hlen Sie!</option>";
              echo"<option value=\"verzeichnis01\">verzeichnis01</option>";
              echo"<option value=\"verzeichnis02\">verzeichnis02</option>";
              echo"<option value=\"verzeichnis03\">verzeichnis03</option>";
              echo"<option value=\"verzeichnis04\">verzeichnis04</option>";
              echo"</select></td>";
              echo"</tr>";
              echo"<tr>";
              echo"<td align=\"center\"><input type=\"submit\" name=\"Submit\" value=\"weiter\"></td>";
              echo"</tr>";
              echo"</table>";
              echo"</form>";

              nach auswahl des verzeichnis (siehe oben vorgabe)

              liest das script das vorgegebene verzeichnis wie hier:

              $verz = $_POST["verz"];

              echo "<div align=\"center\">Sie haben sich für $verz entschieden </div>";
              echo "<form action=\"$verz/\" method=\"post\">";
              echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"4\" align=\"center\">";
              echo "<tr>";
              echo "<div align = \"center\"><select name=\"datei\" size=\"1\"></div> \n";

              $verz = dir ($_POST["verz"]);
              while (($datei = $verz->read()) !==false)
              {
              $datei = substr($datei,0,strrpos($datei,'.'));
              if (($datei != '') and ($datei != '.'))
              echo"<option value=\"$datei.php\"> $datei </option> \n";

              }

              und listet nun die dateien vom ausgewählten verzeichnis und übergibt sie
              in die select box zur auswahl.

              nun wähle ich eine dateie von der select box

              [[[bis hier alles bestens]]]]


              und möcht diese an die stelle übergeben:

              echo "<form action=\"$verz/\" method=\"post\">";

              also ein nochmaliger aufruf der else schleife. nach auswahl der datei müsste das ganze nun so aussehen:

              echo "<form action=\"$verz/die gewählte datei\" method=\"post\">";


              es geht nur um das öffnen einer datei aus verschiedenen verzeichnissen mit unterschiedlicher anzahl von dateien wo die anzahl nicht bekannt ist.

              diese dateien sind formulare und sollen nach der auswahl zur verfügung stehen.

              Kommentar

              Lädt...
              X