Hallo Forum!
Beschreibung:
Ich habe ein Formular „kalkulation.php“ von welchem ich ein weiteres Formular „import“ aufrufe und eine ID per $_GET(‚x_id‘) und eine Kalkulationsnummer, welches ich auf gleiche Weise ich vom Formular „kalkulation.php“ übernehme.
Das Formular „import“ liest eine Textdatei mit diversen (10) Werten aus und zeigt diese an. Diese Werte sollen dann in das Formular „kalkulation.php“ übernommen werden. So weit, so gut…
Problem:
Das Formular „kalkulation.php“ holt sich die Werte folgendermassen:
$bCopy = true;
$x_id = @$_GET[„id“]; Hier holt er sich die ID
if (empty($x_id)) {
$bCopy = false;
}
// Führe die Aktion aus
$sAction = @$_POST[„a_edit“]; //Daten importieren
if (($sAction == „“) || (is_null($sAction))) {
if ($bCopy) {
$sAction = „I“; // Zeige nur die üblichen Werte an
} else {
$sAction = „U“; //importiere die neuen Werte
}
} else {
Wert1 = $_POST[‚wertX‘];
. 2 = …
. 3 = …
etc. …
}
$conn = meine_connection(HOST, USER, PASS, DB, PORT);
switch ($sAction)
{
case „I“: // Schnapp die nen Datensatz
if (!LoadData($conn)) { // Lade key-basierten Datensatz
$_SESSION[„ewmsg“] = „Keine Datensätze gefunden!“;
schliesse_meine_connection($conn);
ob_end_clean();
header(„Location: kalkulationedit.php“);
exit();
}
break;
case „U“: // Update
if (EditData($conn)) { // Update Datensatz
$_SESSION[„ewmsg“] = „Die kalkulatorischen Daten
wurden erfolgreich geändert!“;
schliesse_meine_connection($conn);
ob_end_clean();
header(„Location: kalkulationedit.php“);
exit();
}
break;
}
?>
Dann kommt mein Formular
…
…
Anschliessend die Funktionen zum importieren bzw. zum Laden der Daten:
<?php function LoadData($conn){ global $x\_id; global $x\_auftragsnummer; $sSql = "SELECT \* FROM `kalkulation`"; if ($sWhere \<\> "") { $sWhere .= " AND "; } In die folgende Zeile soll die "ID" hin, aber sie kommt nie an. $sTmp = (get\_magic\_quotes\_gpc()) ? stripslashes($x\_id) : $x\_id; $sWhere .= "(`id` = " . addslashes($sTmp) . ")"; $sSql .= " WHERE " . $sWhere; $rs = meinequery($sSql,$conn) or die("Konnte SQL nicht laden: " . fehler() . ' SQL: ' . $sSql); if (php\_num\_rows($rs) == 0) { $bLoadData = false; }else{ $bLoadData = true; $row = php\_fetch\_array($rs); Hier kommen nun meine Felddaten per Globals: $GLOBALS["x\_id"] = $row["id"]; $GLOBALS["x\_sachbearbeiter"] = $row["sachbearbeiter"]; $GLOBALS["x\_bearbeitungszeit"] = $row["bearbeitungszeit"]; . . . . } free\_result($rs); return $bLoadData; } ?\> Mein Problem: Aus irgendeinem Grunde wird die blöde id von dem Formular "import" nicht übernommen. Warum??? FEHLERMELDUNG: Konnte SQL nicht laden: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') at line 1 SQLs: SELECT \* FROM `kalkulation` WHERE (`id`=) In einem ähnlichen Zusammenhang in einem anderen Script funktioniert die Übergabe. Ist etwas kompliziert, ich weiss, aber vielleicht gibt es ja jemanden unter euch, der sich damit auskennt. Ich bin schon am verzweifeln. Vielen Dank!