WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » Formular, UPDATE: Problem mit Variablen / Wertübergabe » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von elster
jupp - alles klar - soweit
Sicherheit muß ich bei Zeiten noch machen ...

Hab vor die Form noch ein
1:
<?php if ($_POST["submit"])  $vwf[0] = $_POST['f'][$vwf[1]]; ?>

platziert.

Danke, ciao, Jörg
von subjective
Du kannst dir die Array Strukturen von PHP ähnlich wie eine Verzeichnisstruktur vorstellen. Wenn eine Element komplett in [] steht, wird es erstmal zu einem Wert aufgelöst (also der Wert aus der Variable ausgelesen) und bildet einen Schlüsselnamen.

aus
$_POST['f'][$vwf[1]]
wird so intern
$_POST['f'][712]

Zu mysql_real_escape_string() solltest du einfach mal einen Blick in das PHP-Manual. Am besten schaust du auch mal in das QNet Tutorial.

Wenn du in der Form immer den aktuellen Wert sehen willst, mußt du halt die Variable, welche du ausgibst, nach dem erfolgreichen Update ändern.
von elster
Jippie! "Richtfest" - zumindest für diesen Abschnitt.
Danke!
So klappt es jetzt:
1: 
2: 
3: 
4: 
5:
if ($_POST["submit"])
      $up = "UPDATE $tab SET $updf = '".$_POST['f'][$vwf[1]]."' WHERE $idf = ".$vwf[1]."";
      mysql_query($up);

Zwei Fragen noch - eine zugleich auch Teil der Ursache
des "Fehlers" bzw. der letzten Verzögerung:

Zum einen lags am Klammern- und Apostoph-Wirrwar vor meinen
Augen: Im Formfenster konnte ich das Wert-Update nicht gleich
sehen, sondern habs in MySql-Front verfolgt.

- Gibt es einen einfachen Trick, wie ich hier
(Form oben, if() unten ...)
mit dem Submit gleich den akt Wert oben sehen
(hier stellt sich immer wieder letzte Stand her,
erst nach Seiten-reload sehe ich korrigiertes)

- Formularwerte für die MySQL-Query absichern:
bzgl. absichern mit mysql_real_escape_string arbeite
ich mit php 4.2.1.
Habt ihr diesbzgl. eine Tipp für mich?

Grüße von der waterkant,
Jörg
von subjective
Da steht doch das der Wert in $_POST['f'][712] drin ist. Nciht in $_POST['0']. 712 sollte $vwf[1] entsprechen - also $_POST['f'][$vwf[1]].
von elster
nee -
nach Anderem nur ein (verzagter) Versuch ...
1: 
2:
$up = "UPDATE $tab SET $updf = '".$_POST['0']."' WHERE $idf = ".$vwf[1]."";

ick wees net, wat icke bei SET noch verwsuchen soll.
dat array schaut so aus:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11:
array(2) {
  ["f"]=>
  array(1) {
    [712]=>
    string(7) "aaaa cc"
  }
  ["submit"]=>
  string(7) "Und ab!"
}

bloß das aaaa cc kommt nicht in die DB ...
Grüße.

Nach oben