PSD-Tutorials.de
Forum für Design, Fotografie & Bildbearbeitung
Tutkit
Agentur
Hilfe
Kontakt
Start
Forum
Aktuelles
Besonderer Inhalt
Foren durchsuchen
Tutorials
News
Anmelden
Kostenlos registrieren
Aktuelles
Suche
Suche
Nur Titel durchsuchen
Von:
Menü
Anmelden
Kostenlos registrieren
App installieren
Installieren
JavaScript ist deaktiviert. Für eine bessere Darstellung aktiviere bitte JavaScript in deinem Browser, bevor du fortfährst.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen
alternativen Browser
verwenden.
Antworten auf deine Fragen:
Neues Thema erstellen
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
PHP, Javascript, jQuery, Ajax, nodeJS, MySQL...
MySQL - SQL UPDATE funktioniert nicht
Beitrag
<blockquote data-quote="d3mueller" data-source="post: 2018909" data-attributes="member: 568927"><p><strong>AW: MySQL - SQL UPDATE funktioniert nicht</strong></p><p></p><p>Ja, aber das zweite else ist für die if-Struktur weiter oben.</p><p>Zwischen den beiden else sind ja noch 2 }</p><p></p><p>PS:</p><p>Ist das so jetzt alles in Ordnung?(Das array werde ich noch global machen, wenn das skript erst mal richtig funktioniert) :</p><p>[CODE]</p><p><?php</p><p> $file_does_not_exist = false;</p><p></p><p></p><p></p><p></p><p>if(isset($_POST['submit'])) {</p><p> $titel = mysql_real_escape_string($_POST['titel']);</p><p> $inhalt = mysql_real_escape_string($_POST['inhalt']);</p><p> $id = (int)$_GET['id'];</p><p> $tabellenname = $_GET['tabellenname'];</p><p> if($_GET['tabellenname'] != "people") {</p><p> $eintragen = $db->query("UPDATE `$tabellenname` SET `titel`='$titel', `inhalt`='$inhalt' WHERE `id`='$id'");</p><p> } else {</p><p> $eintragen = $db->query("UPDATE `$tabellename` SET `inhalt`='$inhalt' WHERE `id`='$id'"); </p><p> }</p><p> if( ! $eintragen) {</p><p> echo "<fieldset class=\"fehler\">Es gab einen Fehler. Bitte versuchen Sie es sp&auml;ter erneut, oder kontakieren Sie einen Systemadministrator.</fieldset>";</p><p> } else {</p><p> echo "<fieldset class=\"erfolg\">Die Datei wurde erfolgreich ge&auml;ndert.<br><br><a href='menu.php'>Zur&uuml;ck zum Men&uuml;</a></fieldset>";</p><p> }</p><p> </p><p>}</p><p></p><p></p><p>if(isset($_GET['tabellenname'])) {</p><p>$MyList = array("rp","projects","people");</p><p></p><p>$tabelle = $_GET['tabellenname'];</p><p></p><p>if(in_array($tabelle,$MyList)) //Überprüft ob der tabellenname im array vorkommt</p><p>{</p><p> if(isset($_GET['id'])) {</p><p> $id = $_GET['id'];</p><p>} else {</p><p> echo "<fieldset class=\"fehler\">Die ID fehlt! <a href='menu.php'>Zur&uuml;ck zum Men&uuml;</a>.</fieldset>";</p><p>}</p><p>@$result = $db->query("SELECT * FROM $tabelle WHERE id='$id'");</p><p>if($result) {</p><p>$row = $result->fetch_assoc();</p><p>} else {</p><p> $row['titel'] = "nicht Verf&uuml;gbar";</p><p> $row['inhalt'] = "nicht Verf&uuml;gbar";</p><p> echo "<fieldset class=\"fehler\">Es wurde keine zu &auml;ndernde Datei angegeben oder die Datei existiert nicht. <a href='menu.php'>Zur&uuml;ck zum Men&uuml;</a>.</fieldset>";</p><p> $file_does_not_exist = true;</p><p>}</p><p></p><p>} else {</p><p> $row['titel'] = "nicht Verf&uuml;gbar";</p><p> $row['inhalt'] = "nicht Verf&uuml;gbar";</p><p> echo "<fieldset class=\"fehler\">Die Datei, die Sie &auml;ndern m&ouml;chten, existiert nicht. <a href='menu.php'>Zur&uuml;ck zum Men&uuml;</a>.</fieldset>";</p><p> $file_does_not_exist = true;</p><p>}</p><p>}</p><p></p><p>if(!isset($_GET['tabellenname'])) {</p><p> echo "<fieldset class=\"fehler\">Es wurde keine zu &auml;ndernde Datei angegeben. <a href='menu.php'>Zur&uuml;ck zum Men&uuml;</a>.</fieldset>";</p><p>}</p><p>?></p><p>[/CODE]</p><p></p><p>Weil an diser Stelle </p><p>[CODE]</p><p>$tabellenname = $_GET['tabellenname'];</p><p> if($_GET['tabellenname'] != "people") {</p><p> $eintragen = $db->query("UPDATE `$tabellenname` SET `titel`='$titel', `inhalt`='$inhalt' WHERE `id`='$id'");</p><p> } else {</p><p>[/CODE]</p><p>Packe ich ja direkt, ohne iwas zu überprüfen den Wert von $_GET in eine sql Anweisung.</p><p>Aber das ist in dem Fall ja nicht schlimm, oder? Weil der if-Zweig tritt ja nur in Kraft, wenn man auf Submit klickt. Außerdem ist da drunter ja ein Skript, das alles entschärft.</p><p>Das Problem ist, wenn ich das mit dem entschärfen über das andere packe, dann liest er erst den alten Inhalt aus(und schreibt sie dann in die Formularfelder) und dann erst ändert er den Inhalt. Dann muss man jedes mal neu laden. Gibt es da eine andere Möglichkeit?</p><p></p><p>Ich hoffe, ihr versteht, was ich meine</p></blockquote><p></p>
[QUOTE="d3mueller, post: 2018909, member: 568927"] [b]AW: MySQL - SQL UPDATE funktioniert nicht[/b] Ja, aber das zweite else ist für die if-Struktur weiter oben. Zwischen den beiden else sind ja noch 2 } PS: Ist das so jetzt alles in Ordnung?(Das array werde ich noch global machen, wenn das skript erst mal richtig funktioniert) : [CODE] <?php $file_does_not_exist = false; if(isset($_POST['submit'])) { $titel = mysql_real_escape_string($_POST['titel']); $inhalt = mysql_real_escape_string($_POST['inhalt']); $id = (int)$_GET['id']; $tabellenname = $_GET['tabellenname']; if($_GET['tabellenname'] != "people") { $eintragen = $db->query("UPDATE `$tabellenname` SET `titel`='$titel', `inhalt`='$inhalt' WHERE `id`='$id'"); } else { $eintragen = $db->query("UPDATE `$tabellename` SET `inhalt`='$inhalt' WHERE `id`='$id'"); } if( ! $eintragen) { echo "<fieldset class=\"fehler\">Es gab einen Fehler. Bitte versuchen Sie es später erneut, oder kontakieren Sie einen Systemadministrator.</fieldset>"; } else { echo "<fieldset class=\"erfolg\">Die Datei wurde erfolgreich geändert.<br><br><a href='menu.php'>Zurück zum Menü</a></fieldset>"; } } if(isset($_GET['tabellenname'])) { $MyList = array("rp","projects","people"); $tabelle = $_GET['tabellenname']; if(in_array($tabelle,$MyList)) //Überprüft ob der tabellenname im array vorkommt { if(isset($_GET['id'])) { $id = $_GET['id']; } else { echo "<fieldset class=\"fehler\">Die ID fehlt! <a href='menu.php'>Zurück zum Menü</a>.</fieldset>"; } @$result = $db->query("SELECT * FROM $tabelle WHERE id='$id'"); if($result) { $row = $result->fetch_assoc(); } else { $row['titel'] = "nicht Verfügbar"; $row['inhalt'] = "nicht Verfügbar"; echo "<fieldset class=\"fehler\">Es wurde keine zu ändernde Datei angegeben oder die Datei existiert nicht. <a href='menu.php'>Zurück zum Menü</a>.</fieldset>"; $file_does_not_exist = true; } } else { $row['titel'] = "nicht Verfügbar"; $row['inhalt'] = "nicht Verfügbar"; echo "<fieldset class=\"fehler\">Die Datei, die Sie ändern möchten, existiert nicht. <a href='menu.php'>Zurück zum Menü</a>.</fieldset>"; $file_does_not_exist = true; } } if(!isset($_GET['tabellenname'])) { echo "<fieldset class=\"fehler\">Es wurde keine zu ändernde Datei angegeben. <a href='menu.php'>Zurück zum Menü</a>.</fieldset>"; } ?> [/CODE] Weil an diser Stelle [CODE] $tabellenname = $_GET['tabellenname']; if($_GET['tabellenname'] != "people") { $eintragen = $db->query("UPDATE `$tabellenname` SET `titel`='$titel', `inhalt`='$inhalt' WHERE `id`='$id'"); } else { [/CODE] Packe ich ja direkt, ohne iwas zu überprüfen den Wert von $_GET in eine sql Anweisung. Aber das ist in dem Fall ja nicht schlimm, oder? Weil der if-Zweig tritt ja nur in Kraft, wenn man auf Submit klickt. Außerdem ist da drunter ja ein Skript, das alles entschärft. Das Problem ist, wenn ich das mit dem entschärfen über das andere packe, dann liest er erst den alten Inhalt aus(und schreibt sie dann in die Formularfelder) und dann erst ändert er den Inhalt. Dann muss man jedes mal neu laden. Gibt es da eine andere Möglichkeit? Ich hoffe, ihr versteht, was ich meine [/QUOTE]
Bilder bitte
hier hochladen
und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Zitate einfügen…
Authentifizierung
Wenn ▲ = 7, ▼ = 3, ◇ = 2 und die Summe von ▲ und ▼ durch ◇ geteilt wird, was ist das Ergebnis?
Antworten
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
PHP, Javascript, jQuery, Ajax, nodeJS, MySQL...
MySQL - SQL UPDATE funktioniert nicht
Oben