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ß.
Session Problem
Einklappen
X
-
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ß.
Gruss
tobiGutes 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)
-
Hier der Code
Formular:
PHP-Code:<?php
session_start();
error_reporting(E_ALL);
include('connect.php');
echo $_SESSION['error'];
?>
<html>
<head>
<title>Vergü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ü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üten</td>
<td>Enddatum Vergü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
-
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]);
}
}
Gruss
tobi
p.s. ggf weil du die Session ID nicht vom form an das verarbeitende Script gibstGutes 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
-
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.htmlZuletzt geändert von combie; 29.08.2006, 10:56.
Kommentar
-
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
Kommentar