dedlfix: Best practise: Formulardaten in DB schreiben

Beitrag lesen

echo $begrüßung;

$link=mysql_connect('xyz','tralala','dumdidu') or die ("No connection.");
mysql_select_db('tralala') or die ("Database not found.");
Es ist im Allgemeinen keine gute Idee, beim Auftreten von Fehlern schnell davonzurennen, und den Anwender vor dem Scherbenhaufen, zu dem er meist nichts kann, sitzen zu lassen.
Ich weiss. Es ging mir in diesem skizzierten Beispiel aber eben um den Punkt der Eingabe-Validierung/Überprüfung. Es ging mir weniger um die Anwenderfreundlichkeit.

Das ist mir schon klar, man kann sich aber auch bei Beispielen um einen guten Stil bemühen, wenigstens angedeutet:

if ($link = mysql_connect(...)) {  
  if (mysql_select_db(...), $link) {  
    ...  
  } else Fehlerbehandlung;  
} else Fehlerbehandlung;

$userdata = $_REQUEST['formfield'];
Immer wieder zu sehen: Die Unsitte des unnötigen Umkopierens.
Dito: Es ging mir um etwas anderes.

Ja doch :-) Dazu hatte ich mich ja auch geäußert, worauf du aber nicht weiter eingegangen bist.

Hätte ich $_REQUEST['formfield'] direkt in den Query geschrieben, hätte auch wer gemoppert - ausserdem hätte dann meine Frageformulierung derart nicht funktioniert.

Wie wäre es mit: $checkedData = what_here($_REQUEST['formfield']);

mysql_query("INSERT INTO results $column VALUES $userdata";);
Hier fehlt keine Prüfung sondern eine kontextspezifische Kodierung. Und das ist auf alle Fälle ein Vorgang, der ausnahmslos immer stattzufinden hat.
also mysql_real_escape_string($String) ?

In dem Fall ja, aber du fragtest nach generellen Dingen, also lautet die Antwort nur: kontextspezifisch.

echo "$verabschiedung $name";