Ankündigung

Einklappen
Keine Ankündigung bisher.

variable übergeben

Einklappen

Neue Werbung 2019

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

  • philips
    hat ein Thema erstellt variable übergeben.

    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>";
    }

    ?>

  • philips
    antwortet
    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.

    Einen Kommentar schreiben:


  • dsmcg
    antwortet
    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

    Einen Kommentar schreiben:


  • philips
    antwortet
    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

    Einen Kommentar schreiben:


  • dsmcg
    antwortet
    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..

    Einen Kommentar schreiben:


  • philips
    antwortet
    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.

    Einen Kommentar schreiben:


  • dsmcg
    antwortet
    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)

    Einen Kommentar schreiben:

Lädt...
X