Session Problem

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

  • Session Problem

    Hi, woran kann es liegen, dass beim Bebarbeiten eines Formulares welches eine SESSION beinhaltet, die Dauer der Bearbeitung extrem lange braucht bis das Ergebnis angezeigt wird. Das Script ist nicht sehr groß.

  • #2
    Hi, woran kann es liegen, dass beim Bebarbeiten eines Formulares welches eine SESSION beinhaltet, die Dauer der Bearbeitung extrem lange braucht bis das Ergebnis angezeigt wird. Das Script ist nicht sehr groß.
    Zu 99.999999% nicht wegen der Session. Etwas Code wäre ggf nicht schlecht...

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Hier der Code


      Formular:


      PHP-Code:
      <?php
      session_start
      ();
      error_reporting(E_ALL);
      include(
      'connect.php');



      echo 
      $_SESSION['error'];
      ?>

      <html>
      <head>
      <title>Verg&uuml;teprotokoll</title>
      <h1 align="center"></h1>
      </head>
       <body bgcolor="blue">
       <table align="center" bdcolor="white" width="80%" border="0">
              <tr>
                      <td>Login</td>
                      <td>FA-Auftrag</td>
                      <td>Ziehprotokoll</td>
                      <td>Verg&uuml;teprotokoll</td>
                      <td>Abfragen</td>

              </tr>
       </table>
            <table width="80%" align="center" border="2" bgcolor="FFFF68" frame="box" rules="none" bordercolor="FFFFF" >
            <caption><h1>Fertigungsauftrag</h1></caption>
            <form action="FA_auswertung.php" method="post"  >
                      <input type="hidden" name="flag" value="1">
                      <input type="hidden" name="checkID" value="">

              <tr >
                      <td>Datum</td>
                      <td>FA-Nr.</td>
                      <td>Teile-Nr.</td>
                      <td>Lieferant</td>
                      <td>Kunde</td>
              </tr>
              <tr>
                      <td>ITW-Anlage</td>
                      <td>Vorschub</td>
                      <td>Anfangsdatum Verg&uuml;ten</td>
                      <td>Enddatum Verg&uuml;ten</td>

              </tr>
            <tr>
                       <td>
                       <select name="ITW">
                        <?
                              $tb_name="itw";
                              $sql= "SELECT (ITW) FROM $tb_name";
                              $result = mysql_query ($sql, $link) or die ("MySQL-Fehler: " . mysql_error());
                              while ($row = mysql_fetch_array($result))
                              echo "<option>".$row['ITW']."</option>";
                              mysql_free_result($result);
                              mysql_close($link);
                              ?>
                       </select></td>


                      <td><input type="text" name="Vorschub" value="" maxlength="4" readonly></td>
                      <td>
                      <input type="text" name="ITW_Anfang_d" value="<?echo $_SESSION['ITW_Anfang_d']?>" size="1" maxlength="2"><strong>-</strong>
                      <input type="text" name="ITW_Anfang_m" value="<?echo $_SESSION['ITW_Anfang_m']?>" size="1" maxlength="2"><strong>-</strong>
                      <input type="text" name="ITW_Anfang_y" value="<?echo $_SESSION['ITW_Anfang_y']?>" size="1" maxlength="2">
                      </td>
                      <td>
                      <input type="text" name="ITW_Ende_d" value="<?echo $_SESSION['ITW_Ende_d']?>" size="1" maxlength="2"><strong>-</strong>
                      <input type="text" name="ITW_Ende_m" value="<?echo $_SESSION['ITW_Ende_m']?>" size="1" maxlength="2"><strong>-</strong>
                      <input type="text" name="ITW_Ende_y" value="<?echo $_SESSION['ITW_Ende_y']?>" size="1" maxlength="2">
                      </td>
              </tr>
              <tr>

                      <td>Abzug in %</td>
                      <td>Personal-Nr.</td>
                      <td>Hinweis</td>
              </tr>
              <tr>
                    <td><input type="text" name="Abzug" value="<?echo $_SESSION['Abzug']?>" maxlength="5" readonly></td>
                    <td><input type="text" name="PE_NR" value="<?echo $_SESSION['PE_NR']?>" maxlength="4"></td>
                    <td><textarea name="Hinweis"  cols="15" rows="1"><?echo $_SESSION['Hinweis']?></textarea></td>
              </tr>
              <tr>
                    <td><input type="submit" name="pruefen" value="Eingabe überprüfen" ></td>
                    <td><input type="submit" name="speichern" value="speichern" ></td>
                    <td><input type="<? echo$butten3 ?>" name="bearbeiten" value="bearbeiten" ></td>
              </tr>

              <tr>
                      <td><font size="-1"><sup>*</sup>  z.B. 12.12</td>
              </tr>
          </form>
        </table>
       </body>
      </html>
      <?session_destroy();?>

      Auswertung
      PHP-Code:
      <?php
      session_start
      ();

      if (isset(
      $_POST['pruefen'])) {

      $_SESSION['flag']        =  $_POST['flag'];
      $_SESSION['FA_NR']        =  $_POST['FA_NR'];
      $_SESSION['Teile_NR']     =  $_POST['Teile_NR'];
      $_SESSION['Walzdraht']    =  $_POST['Walzdraht'];
      $_SESSION['Abmessung']    =  $_POST['Abmessung'];
      $_SESSION['Klasse']       =  $_POST['Klasse'];
      $_SESSION['Menge']        =  $_POST['Menge'];
      $_SESSION['ZM']           =  $_POST['ZM'];
      $_SESSION['Ziehen']       =  $_POST['Ziehen'];
      $_SESSION['ITW']          =  $_POST['ITW'];
      $_SESSION['Vorschub']     =  $_POST['Vorschub'];
      $_SESSION['PE_NR']        =  $_POST['PE_NR'];
      $_SESSION['Abzug']        =  $_POST['Abzug'];
      $_SESSION['Hinweis']      =  $_POST['Hinweis'];
      $_SESSION['ZM_Anfang_d']  =  $_POST['ZM_Anfang_d'];
      $_SESSION['ZM_Anfang_m']  =  $_POST['ZM_Anfang_m'];
      $_SESSION['ZM_Anfang_y']  =  $_POST['ZM_Anfang_y'];
      $_SESSION['ZM_Ende_d']    =  $_POST['ZM_Ende_d'];
      $_SESSION['ZM_Ende_m']    =  $_POST['ZM_Ende_m'];
      $_SESSION['ZM_Ende_y']    =  $_POST['ZM_Ende_y'];
      $_SESSION['ITW_Anfang_d'] =  $_POST['ITW_Ende_d'];
      $_SESSION['ITW_Anfang_m'] =  $_POST['ITW_Ende_m'];
      $_SESSION['ITW_Anfang_y'] =  $_POST['ITW_Ende_y'];
      $_SESSION['ITW_Ende_d']   =  $_POST['ITW_Ende_d'];
      $_SESSION['ITW_Ende_m']   =  $_POST['ITW_Ende_m'];
      $_SESSION['ITW_Ende_y']   =  $_POST['ITW_Ende_y'];




      $_SESSION['Abzug']=100-($_SESSION['Abmessung']*100)/ $_SESSION['Walzdraht'];

      if (  !
      $_SESSION['FA_NR'])
            {
      $_SESSION['error']="Fehler";}

      header("Location:FA_Formular.php");

      }
      ?>

      Kommentar


      • #4
        PHP-Code:
        //einfach alle gesuchten Feldnamen in ein Array
        $felder[] = 'flag';
        $felder[] =  'FA_NR'      
        ....
        foreach(
        $felder as $value){
            if(isset(
        $_POST[$value]) && !empty($_POST[$value])){
                
        $_SESSION[$value] = strip_tags($_POST[$value]);
            }

        Warum das Script aber solange braucht sehe ich leider auch ned. Ev etwas was in connect.php drinn ist

        Gruss

        tobi

        p.s. ggf weil du die Session ID nicht vom form an das verarbeitende Script gibst
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Wie muss ich denn die SESSION_ID denn einbauen???

          Kommentar


          • #6
            Ein einfaches Kochrezept:
            http://www.technischedaten.de/pmwiki...essionHandling

            Frage:
            Warum machst du in der ersten Datei:
            <?session_destroy();?> ????

            In dem Location-Header stecken 2 Fehler:
            1. 1 leerzeichen fehlt
            2. Komlette URL notwendig
            siehe: http://www.php-faq.de/q/q-http-redirect.html
            Zuletzt geändert von combie; 29.08.2006, 09:56.
            Wir werden alle sterben

            Kommentar


            • #7
              1. Hab das gemacht weil, wenn ich das Formular neu aufrufe immer noch alle Felder angezeigt werden. Muss daher den IE immer komplett schließen und neu aufrufen.

              2. Hab aber noch ein Problem. Wenn ich in der Auswertung bin und will ne IF-Anweisung bauen mit den 3 Submit Buttons, sind bei mir immer alle Submits gesetzt

              Formular
              PHP-Code:
              echo $_SESSION['aus'];
              echo $_SESSION['aus1'];

              if (!$_SESSION['read']) {
                  $butten1="submit";
                  $butten2="hidden";
                  $butten3="hidden";
              }
              else {
                  $butten1="hidden";
                  $butten2="submit";
                  $butten3="submit";
              }
              ...

              <td><input type="<? echo $butten1 ?>" name="pruefen" value="Eingabe überprüfen" ></td>
                            <td><input type="<? echo $butten3 ?>" name="speichern" value="speichern" ></td>
                            <td><input type="<? echo $butten3 ?>" name="bearbeiten" value="bearbeiten" ></td>

              Auswertung

              PHP-Code:
              if (isset($_POST['bearbeiten'])) {
              $_SESSION['aus']="bearbeiten";
              }


              if (isset(
              $_POST['pruefen'])) {
                  
              $_SESSION['aus1']="pruefen";


              Woran liegt das?

              Kommentar


              • #8
                In der Auswertung ist ein Header der wieder zum Formular verweißt

                Kommentar

                Lädt...
                X