Jhonny Geschrieben 9. Oktober 2006 Teilen Geschrieben 9. Oktober 2006 Hallo, Ich kann in meiner Datenbank die Felder einer Tabelle nicht Updaten, wenn ich den Variablen Werte aus dem Formular zuweise. Wenn ich die Variablen im Programmcode Fest deklariere dann funktioniert alles. Ich habe eine Hauptdatei, in der der Programmablauf beschrieben wird. Abhängig von der auszuführenden Funktion wird eine Datei per "include" geladen und dort die entsprechende Funktion aufgerufen. Hier hab ich erstmal die betreffenden Programmteile für euch. Hauptdatei: if($step == "1") { /* Formular zum ändern der Standortdaten. */ $fb_ausgabe=editStandortForm($id); } if($step == "2") { /* mit den Eingegebenen Daten aus der Funktion "editStandortForm($id)" wird hier der Inhalt des entsprechenden Standortes geändert! */ // Empfangen der Daten aus dem Formular $name=$_POST['name']; $str=$_POST['str']; $ort=$_POST['ort']; $plz=$_POST['plz']; $tel=$_POST['tel']; $fax=$_POST['fax']; $ustid=$_POST['ustid']; $ansprechpartner=$_POST['ansprechpartner']; $onoff=$_POST['status']; $fb_ausgabe=writeStandortData($id,$name,$str,$ort,$plz,$tel,$fax,$ustid,$ansprechpartner,$onoff); }[/PHP] Datei die die Funktionen enthält: [PHP] // Standort änderungs Formular function editStandortForm($standortID) { $fb_return = "0"; $onoff=$_POST['status']; $daten="SELECT * FROM mz_mandant WHERE m_id='".$standortID."'"; $ergDaten=mysql_query($daten); $datenZeile=mysql_fetch_row($ergDaten); $fb_return="<center><h2><u>Sie bearbeiten den Standort: ".$datenZeile[2]."</u></h2></center><form name=\"addStandort\" action=\"mobileZeiterfassungServer.php?menue=1&step=2&id=".$standortID."\" method=\"POST\"> <table border=\"0\"> <tr><td><b>Name des Standortes: </b></td><td><input type=\"text\" name=\"name\" size=\"25\" value=\"".$datenZeile[1]."\" /></td></tr>"; if($datenZeile[2] == "on") { $fb_return.="<tr><td><b>Standort Status: </b></td><td>Offline: <input type=\"radio\" name=\"status\" value=\"off\" /> Online: <input type=\"radio\" name=\"status\" value=\"on\" checked /></td><tr>"; } if($datenZeile[2] == "off") { $fb_return.="<tr><td><b>Standort Status: </b></td><td>Offline: <input type=\"radio\" name=\"status\" value=\"off\" checked /> Online: <input type=\"radio\" name=\"status\" value=\"on\"/></td><tr>"; } $fb_return.="<tr><td><b>Standort Prefix: </b></td><td><input type=\"text\" name=\"standortPrefix\" size=\"25\" value=\"".$datenZeile[0]."\" disabled/></td></tr> <tr><td><b>Strasse / Hausnummer: </b></td><td><input type=\"text\" name=\"str\" size=\"25\" value=\"".$datenZeile[3]."\" /></td></tr> <tr><td><b>Ort: </b></td><td><input type=\"text\" name=\"ort\" size=\"25\" value=\"".$datenZeile[4]."\" /></td></tr> <tr><td><b>Plz.: </b></td><td><input type=\"text\" name=\"plz\" size=\"25\" maxlength=\"5\" value=\"".$datenZeile[5]."\" /></td></tr> <tr><td><b>Tel.: </b></td><td><input type=\"text\" name=\"tel\" size=\"25\" value=\"".$datenZeile[6]."\" /></td></tr> <tr><td><b>Fax.: </b></td><td><input type=\"text\" name=\"fax\" size=\"25\" value=\"".$datenZeile[7]."\" /></td></tr> <tr><td><b>UstID.: </b></td><td><input type=\"text\" name=\"ustid\" size=\"25\" value=\"".$datenZeile[8]."\" /></td></tr> <tr><td><b>Ansprechpartner: </b></td><td><input type=\"text\" name=\"ansprechpartner\" size=\"25\" value=\"".$datenZeile[9]."\" /></td></tr> <tr><td><input type=\"submit\" value=\"Daten ändern\"></td><td><input type=\"reset\" value=\"Abbrechen\"></table> </form> "; $fb_return.="<br><br><a href=\"mobileZeiterfassungServer.php?menue=1&step=3&<?=SID?>\" target=\"_top\">Stammdaten hinzufügen</a><br><br>"; return $fb_return; } Hier tritt meiner Meinung nach das Problem auf: // Standort Daten in der Mysql Datenbank ändern // Änderungen in der Datenbank speichern! function writeStandortData($id,$name,$status,$strasse,$ort,$plz,$tel,$fax,$ustid,$ansprechpartner) { $ausgabe=NULL; mysql_query("UPDATE `mz_mandant` SET `m_name`='$name' WHERE `m_id`='9999'")or die($ausgabe=mysql_error()); return $ausgabe; } [/PHP] Die Werte die von mir im Formular eingegeben wurden werden nicht in die Datenbank geschrieben. Es wird einfach nix geschrieben. Das sql_query wird aber ohne Fehler ausgeführt. Die Variablen werden behandelt als wäre kein Inhalt vorhanden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
baba007 Geschrieben 9. Oktober 2006 Teilen Geschrieben 9. Oktober 2006 UPDATE `mz_mandant` SET `m_name`='$name' WHERE `m_id`='9999' und bei UPDATE mz_mandant SET m_name=$name where m_id=9999 [/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jhonny Geschrieben 9. Oktober 2006 Autor Teilen Geschrieben 9. Oktober 2006 Hmm,... mit dieser Antwort kann ich nix anfangen, was möchtest du mir damit sagen? Also ohne Anführungszeichen geht das nicht! Oder was meinst du? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Grandmasta Geschrieben 9. Oktober 2006 Teilen Geschrieben 9. Oktober 2006 Mach doch mal ein echo "UPDATE mz_mandant SET m_name='$name' WHERE m_id=9999"; Dann siehst du, ob die SQL Anweisung richtig ist. Hast du phpmyadmin installiert? Falls ja, teste doch mal damit. Dann siehst du auch, ob überhaupt ein Datensatz verändert wird. und warum benutzt du ` ` ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jhonny Geschrieben 9. Oktober 2006 Autor Teilen Geschrieben 9. Oktober 2006 Ja wenn ich das mache kommt 1 raus! der Updatet ja auch Daten, wie zum Beispiel das Änderungsdatum. Nur die Variablen, deren Inhalt aus dem Formular stammt, behandelt er als wäre nichts in den Variablen gespeichter. Wenn ich mir die Variablen aber ausgeben mit "echo" ausgeben lasse dann wird der korrekte Inhalt angezeigt. Das ist ja gerade das Problem! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jhonny Geschrieben 9. Oktober 2006 Autor Teilen Geschrieben 9. Oktober 2006 Komisch! Wenn ich die Seite mit dem Internetexplorer aufrufe dann Funktioniert alles! Wenn ich aber Mozilla benutze dann schreibt der keine Daten in die Datenbank. Das darf doch Theoretisch nicht gehen da PHP doch Serverseitig ausgeführt wird. Woran kann das liegen? Kann mir da einer weiterhelfen? So ein Problem hatte ich noch nie! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.