+ Antworten
Ergebnis 1 bis 10 von 10

Thema: Weiterleitung mit header

  1. #1
    TP-Junior geist_der_foren macht alles soweit korrekt
    Registriert seit
    Nov 2003
    Beiträge
    11

    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. #2
    TP-Insider deck16 ist auf einem guten Weg
    Registriert seit
    Jun 2001
    Ort
    Berlin
    Beiträge
    633
    Was passiert genau in dem script?
    Sind die Session Variablen die 3 Werte?
    1-2 Minuten ist eine seeeeeeeeeeeeeeeeeehr lange Ausführungszeit, vermutlich hängt da irgendwas.

  3. #3
    TP-Junior geist_der_foren macht alles soweit korrekt
    Registriert seit
    Nov 2003
    Beiträge
    11
    Der Skript starte eine Linux Installation bzw. Clone... Es ist schon ok das er 1-2 min läuft ... das Prob ist nur, wie ich das mit der Weiterleitung mache, ich hab kein Plan wann ich die reinsetzen soll ...

  4. #4
    TP-Junior geist_der_foren macht alles soweit korrekt
    Registriert seit
    Nov 2003
    Beiträge
    11
    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>";
    ?>

  5. #5
    TP-Specialist Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Avatar von Stuck Mojo
    Registriert seit
    Feb 2001
    Ort
    Helmstedt/Wolfsburg
    Beiträge
    4.108
    steht das auch so in deinem Script?? Dann ist es normal, dass das nicht geht ...und ein / gehört auch nicht ans Ende.

    Gruss
    Jan

  6. #6
    TP-Junior geist_der_foren macht alles soweit korrekt
    Registriert seit
    Nov 2003
    Beiträge
    11
    Danke für den Tip Jetzt funkt das auch ...

    Aber die Variablen werden in der shell_exec nicht zurückgegeben
    Es kommt wenn ich das @ vor dem session_start wegnehme 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
    Leider verstehe ich da nicht wirklich was er von mir will

  7. #7
    TP-Specialist Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Avatar von Stuck Mojo
    Registriert seit
    Feb 2001
    Ort
    Helmstedt/Wolfsburg
    Beiträge
    4.108
    Vor einem session_start() darf keinerlei Ausgabe an den Browser passieren, da die Session durch einen Cookie gesetzt wird. Ist bereits etwas zum Client gesendet worden, so kann der Cookie nicht mehr gesetzt werden. Daher session_start() immer gaaaanz nach oben. Noch nichtmal ein Leerzeichen darf davor stehe

    Gruss
    Jan

  8. #8
    TP-Junior geist_der_foren macht alles soweit korrekt
    Registriert seit
    Nov 2003
    Beiträge
    11
    Achso ... Ok ich hab jetzt folgendes gemacht:

    PHP-Code:
    <?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>
    Aber die Variablen werden nicht raus gegeben auf der shell_exec.php

  9. #9
    TP-Specialist Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Avatar von Stuck Mojo
    Registriert seit
    Feb 2001
    Ort
    Helmstedt/Wolfsburg
    Beiträge
    4.108
    wozu ist denn der backslash hinter dem Dateinamen?

    Evtl. geht die Session auch verloren. Probier mal so:
    PHP-Code:
    <meta http-equiv="refresh" content="5; URL=http://10.206.176.96/weiterleitung_test/shell_exec.php?<?=session_name();?>=<?=session_id();?>">
    Gruss
    Jan

    PS: 1mal session_start reicht hin...

  10. #10
    TP-Junior geist_der_foren macht alles soweit korrekt
    Registriert seit
    Nov 2003
    Beiträge
    11
    Das funzt auch nicht, ich hab es mal so versucht:

    PHP-Code:
    <meta http-equiv="refresh" content="1; URL=http://10.206.176.96/weiterleitung_test/shell_exec.php?=SID"
    Geht auch nicht

    Wie meinst du 1mal session_start reicht hin ??? Ich dachte ich muss das auf jeder neuen Seite starten ?

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51