Gut Kombiniert, Watson!
Problem mit Arrays nach update
Einklappen
X
-
Oh. Problem hat sich erledigt. hab einfach die ganzen Var die ich für dn update benötige umbenannt von:
PHP-Code:$clientcode = $_POST["clientcode"];
PHP-Code:$u_clientcode = $_POST["clientcode"];
und schon klappts.
Hatte wahrscheinlich eine Variable von dort eine andere überschrieben.
Kann mir das zwar nicht wirklich erklären, aber nun funktioniert es einfach.
Einen Kommentar schreiben:
-
dann ist aus den code-abschnitten nicht zu ersehen, wo die SESSION-Var noch überschrieben werden würde.
darüber hinaus, wenn es nur nach einem Update knallt, dann wird der Fehler wohl auch dort zu suchen sein.
(würde Sherlock Holmes jetzt sagen)
Einen Kommentar schreiben:
-
Die Funktion create_constraint_array() wird nur ein einziges mal aufgerufen. Die $_SESSION-ARRAYS stimmen.
Also überschrieben etc wird da soweit ich weis nichts.
Hab ich schon geprüft
Einen Kommentar schreiben:
-
nach dem, was hier zu sehen ist, überschreibst du nur in create_constraint_array()
deine SESSION-Var ... von daher würd ich vorschlagen, du prüfst mal, was in $pieces drin steht. Respektive, was in den Weiteren Variablen der o.g. Funktion steht / stehen sollte.
Einen Kommentar schreiben:
-
Problem mit Arrays nach update
Hallo,
habe ein Problem mit meinen Array's.
(Datenbank Oracle9i)
Zu Begin meines Programms kommt eine Übersichtsmaske mit mehrerern Buttons, die alle auf verschiedene "Seiten" verweisen. Nur beim ersten Auf ruf dieser Seite werden aus der Datenbank die Check-Constraints ausgelesen und die erlaubten Eingaben dieser Constraints in Arrays gespeichert.
Folgende Funktion tut dies:
PHP-Code:function create_constraint_array($sql_statement,$array_name)
{
ociexecute($sql_statement);
ocifetchinto($sql_statement,$result);
$condition = $result[0];
$kurz = strstr($condition, '(');
$result[] = $kurz;
$weg = str_replace("'", "", $result[1]);
$weg2 = str_replace("(", "", $weg);
$weg3 = str_replace(")", "", $weg2);
$vkurz = ltrim($weg3);
$vhkurz = rtrim($vkurz);
$pieces = explode(",", $vhkurz);
$_SESSION["$array_name"] = $pieces;
}
Diesee Funktion ist nun zum erzeugen der Selectfelder des Html Formulares gedacht: Sie wird erst auf der nächsten Maske aufgerufen.
Also nicht im dem gleichen php.Script. Deshalb speichere ich die Arrays in $SESSION-Vars.
PHP-Code:function select_aus_constraint2($s_name,$s_laenge,$s_size,$vergleichsstatement,$spaltenname,$null)
{
echo "<select name=\"$s_name\" size=\"$s_size\" style=\"width:$s_laenge\">"; // Ab hier üblicher Aufbau
$wert_aus_vergleich=vergleich($vergleichsstatement, $spaltenname); // des selects
if($null==nullable)
{
if ($wert_aus_vergleich=="")
$selected="selected";
else $selected="";
echo "<option value='' $selected></option>";
}
$pieces = $_SESSION["$s_name"];
$anzahl = count($pieces);
for ($i = 0; $i < $anzahl; $i++)
{
$wert = $pieces[$i];
if ($wert_aus_vergleich==$wert)
$selected="selected";
else $selected="";
echo "<option value='$wert' $selected>$wert</option>";
}
echo "</select>";
Ich kann nun per Record durch die einzelnen Sätze "blättern"
Nun zu meinem Problem.
Wenn jemand den "SaveButton" betätigt werden alle änderungen an den verschiedenen Feldern , welche von dem Benutzer getätigt wurden, in der DB gespeichert.(per Update).
Jedoch sind nach dem betätigen dieses Buttons, und nur dann, meine Session-Arrays scheinbar leer. Denn in den Selectfeldern, welche mit den aus oben den beiden Funktionen gebildeten $SESSION-ARRAYS erstellt werden, stehen dann nur noch 1 Buchstabe und eine Zeile.
Woran könnte das liegen?Zuletzt geändert von galaxy2; 13.06.2005, 09:51.Stichworte: -
Einen Kommentar schreiben: