Weiterleitung mit header

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

  • Weiterleitung mit header

    HI @all,

    kann mir vielleicht jemand weiter helfen?
    Ich hab ein Formular, in dem ein User 3 Werte auswählen kann. Nach dem er diese Werte ausgewählt hat, kann er auf einem Button "DATEN SENDEN" klicken. Der klick auf dem Button, bewirkt, dass eine PHP seite aufgerufen wird. Diese PHP seite ruf mittels "shell_exec" einen sktript, mit dem vom Formular übergebenen Variablen auf.

    Code:
    shell_exec("/cust/www/htdocs/clone_weboberflaeche_version_1.3/ausgabe ".$_SESSION["linux_system"]. " " .$_SESSION["ram"]. " " .$_SESSION["prozesoren"])
    Es dauert ca. 1 - 2 minuten biss das Skript durchgelaufen ist. In der Zwischenzeit würde ich gerne auf eine Seite verweisen, auf der steht, bitte warten oder so ähnlich.
    Wie kann ich das jetzt bewärkstelligen ? Wo muss ich die Weiterleitung mit header ansetzten ? Das Problem ist, dass das Skript welches aufgerufen wird, auch etwas zurück gibt, aber wie gesagt, nach 1-2 min.
    Ich hab das header('locate...') vor dem Shellexec aber das bringt nicht, da er das shell_exec nicht aufruft und danach funt auch nicht:

    Code:
    Warning: Cannot modify header information - headers already sent by (output started at /pfad/www/htdocs/weboberflaeche_version_1.6/shell_exec.php:5) in /pfad/www/htdocs/weboberflaeche_version_1.6/shell_exec.php on line 9
    Hat jemand eine IDEE ???

  • #2
    Re: Weiterleitung mit header

    du musst header vor jeglicher art von ausgabe machen - auch leerzeilen oder sonstiger whtiespace vor <?php...> gehört dazu.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Und wie verweise ich dann wieder zurück zur shell_exec, die Ihre ausgabe macht ???

      Kommentar


      • #4
        Man das bitte warten doch einfach an den Anfang der Seite, keine Weiterleitung oder anderes, wenn die Sachen dann gemacht sind, kannst du ja ne Erfolgsmeldung ausgeben....

        Würd ich jedenfalls so machen...
        PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

        Kommentar


        • #5
          Hi @all,

          also ich hab mir einfach Überlegt, das ich es so löse, aber wenn ich dann auf die shell_exec.php weiter leite kommt die Meldung SEITE KANN NICHT ANGEZEIGT WERDEN u.s.w.
          Kann mir Jemand Helfen ?
          Ich Poste jetzt einfach mal den code
          PHP-Code:
          <body bgcolor="#F3F3F3">
          <
          h1 align=center><u>Auswahl der Systemkomponenten</u></h1>
          <!-- 
          Formular **ANFANGN** -->
          <
          form action="weiterleitung.php" method="post">

          <!-- 
          Linux-System **ANFANG** -->
          Linux System (SLES 8)  
          <
          select name="linux_system">
            <
          option value=""></option>
            <
          option value="31"Linux 31 Bit System  </option>
            <
          option value="64"Linux 64 Bit System </option>
          </
          select>
          <!-- 
          Linux-System **ENDE** -->

          <
          br>
          <
          br>

          <!-- 
          Virtual-Storage **ANFANG --> 
          Virtual Storage (Speicher in RAM)
          <
          select name="ram">
            <
          option value=""></option>
            <
          option value="128m">   128 MegaByte </option>
            <
          option value="256m">   256 MegaByte </option>
            <
          option value="512m">   512 MegaByte </option>
            <
          option value="1024m"1024 MegaByte </option>
          </
          select>
          <!-- 
          Virtual-Sorage **ENDE** -->

          <
          br>
          <
          br>

          <!-- 
          Anzahl den Prozesoren **ANFANG** -->
          Anzahl der Prozesoren
          <select name="prozesoren">
            <
          option value=""></option>
            <
          option value="1"1 Prozesor </option>
            <
          option value="2"2 Prozesoren </option>
            <
          option value="3"3 Prozesoren </option>
            <
          option value="4"4 Prozesoren </option>
          </
          select>
          <!-- 
          Anzahl den Prozesoren **ENDE** -->

          <
          br>
          <
          br>
          <
          br>
          <!-- 
          Submitbutton **ANFANG**-->
          <
          input type="submit" name="senden" value="Daten senden">
          <!-- 
          Submitbutton **ENDE**-->

          </
          form>
          <!-- 
          Formular **ENDE** -->

          </
          body>
          </
          html
          PHP-Code:
          ***weiterleitung.php***<html>
          <head>
          <meta http-equiv="refresh" content="1; URL=http://http://10.206.176.96/weiterleitung_test/shell_exec.php/">
            <!-- ... andere Angaben im Dateikopf ... -->
          </head>
          <body>
          <h1> BITTE WARTEN </h1>
          <?php
          @session_start(); 
          $_SESSION["linux_system"] = $_POST["linux_system"];
          $_SESSION["ram"] = $_POST["ram"];
          $_SESSION["prozesoren"] = $_POST["prozesoren"];

          echo 
          $_SESSION["linux_system"] . "<br>" ;
          echo 
          $_SESSION["ram"] . "<br>";
          echo 
          $_SESSION["prozesoren"] . "<br>"
          ?>
          </body>
          </html>
          PHP-Code:
          sehll_exec.php
          <?php
          @session_start(); 
          $_SESSION["linux_system"] = $_POST["linux_system"];
          $_SESSION["ram"] = $_POST["ram"];
          $_SESSION["prozesoren"] = $_POST["prozesoren"];

          echo 
          "<h1> SESSION AUSGABE </h1>"
          echo $_SESSION["linux_system"] . "<br>" ;
          echo 
          $_SESSION["ram"] . "<br>";
          echo 
          $_SESSION["prozesoren"] . "<br>"

          echo "<h1> SHELL AUSGABE </h1>"
          $output shell_exec("/cust/www/htdocs/weiterleitung_test/ausgabe ".$_SESSION["linux_system"]. " " .$_SESSION["ram"]. " " .$_SESSION["prozesoren"]);
          echo 
          "<pre>$output<pre>";
          ?>

          Kommentar


          • #6
            PHP-Code:
            <head>
            <meta http-equiv="refresh" content="1; URL=http://http://10.206.176.96/weiterleitung_test/shell_exec.php/">
              <!-- ... andere Angaben im Dateikopf ... -->
            </head>
            <body>
            <h1> BITTE WARTEN </h1>

            <?php
            // Hier machst du vor session_start schon eine Ausgabe
            //und mach mal das @ vor session_start weg, damit du auch mal ein paar Fehlermeldungen siehst.
            @session_start(); 
            $_SESSION["linux_system"] = $_POST["linux_system"];
            $_SESSION["ram"] = $_POST["ram"];
            $_SESSION["prozesoren"] = $_POST["prozesoren"];

            echo 
            $_SESSION["linux_system"] . "<br>" ;
            echo 
            $_SESSION["ram"] . "<br>";
            echo 
            $_SESSION["prozesoren"] . "<br>"
            ?>
            </body>
            </html>
            mfg
            marc75

            <Platz für anderes>

            Kommentar


            • #7
              Hi, danke für den Tip, jetzt funkt die Weiterleitung
              Er übergibt aber die Variablen nicht

              Es kommen folgende Fehlermeldungen:
              Code:
              Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /cust/www/htdocs/weiterleitung_test/weiterleitung.php:8) in /cust/www/htdocs/weiterleitung_test/weiterleitung.php on line 9
              
              Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /cust/www/htdocs/weiterleitung_test/weiterleitung.php:8) in /cust/www/htdocs/weiterleitung_test/weiterleitung.php on line 9
              Ich verstehe das nicht ??? Was will er da

              Kommentar


              • #8
                Original geschrieben von geist_der_foren
                Ich verstehe das nicht ??? Was will er da
                mach dir klar, dass auch session start einen http header auslöst, um den cookie setzen zu können - und dann lies dir meinen ersten beitrag in diesem thread noch mal durch.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  ja, aber ich hab das Problem ja anders Gelöst, ich mach es ja nicht mehr mit "header()" sonder mit einer HTML Weiterleitung

                  Kommentar


                  • #10
                    das heisst soviel wie das schon ein haeder gesendet bzw. irgendwelche daten an den browser gesendet wurden, und das darf nicht vor session_start geschehen.

                    Darum schrieb Wahsaga "vor jeglicher art von ausgabe machen"
                    mfg
                    marc75

                    <Platz für anderes>

                    Kommentar


                    • #11
                      Ahaaa ... Jetzt verstehe ich ... Danke. Also es funkt jetzt auch mit der Weiter leitung. Aber wieso übergibt er mir keine Variablen in der shell_exec ??? Muss da ein action erfolgen ?

                      Code:
                      weiterleitung.php
                      <?php
                      session_start(); 
                      ?>
                      <html>
                      <head>
                      <meta http-equiv="refresh" content="5; URL=http://10.206.176.96/weiterleitung_test/shell_exec.php/">
                        <!-- ... andere Angaben im Dateikopf ... -->
                      </head>
                      <body>
                      <h1> BITTE WARTEN </h1>
                      <?php
                      session_start(); 
                      $_SESSION["linux_system"] = $_POST["linux_system"];
                      $_SESSION["ram"] = $_POST["ram"];
                      $_SESSION["prozesoren"] = $_POST["prozesoren"];
                      
                      echo $_SESSION["linux_system"] . "<br>" ;
                      echo $_SESSION["ram"] . "<br>";
                      echo $_SESSION["prozesoren"] . "<br>"
                      ?>
                      </body>
                      </html>
                      Code:
                      shell_exec.php
                      <?php
                      @session_start(); 
                      $_SESSION["linux_system"] = $_POST["linux_system"];
                      $_SESSION["ram"] = $_POST["ram"];
                      $_SESSION["prozesoren"] = $_POST["prozesoren"];
                      
                      echo "<h1> SESSION AUSGABE </h1>";
                      echo $_SESSION["linux_system"] . "<br>" ;
                      echo $_SESSION["ram"] . "<br>";
                      echo $_SESSION["prozesoren"] . "<br>";
                      
                      echo "<h1> SHELL AUSGABE </h1>";
                      $output = shell_exec("/cust/www/htdocs/weiterleitung_test/ausgabe ".$_SESSION["linux_system"]. " " .$_SESSION["ram"]. " " .$_SESSION["prozesoren"]);
                      echo "<pre>$output<pre>";
                      ?>
                      Zuletzt geändert von geist_der_foren; 20.11.2003, 13:22.

                      Kommentar

                      Lädt...
                      X