Matze: Anfängerfrage zu $_post $_get

Beitrag lesen

Hallo,

$sql="select a, b from tabelle where irgendwas='irgendwas'";
$erg=mysql_query($sql);

$ausgabe=mysql_fetch_array($erg);
while($ausgabe)
{
...
}

fast. Ich würde schreiben WHERE irgendwas LIKE 'irgendwas'.
Und dann geht das auch so

$sql = mysql_query("SELECT ... WHERE irgendwas LIKE "'.mysql_real_escape_string(irgendwas).'")
while($ausgabe = mysql_fetch_array($sql)){
...
}

durch die Funktion mysql_real_escape_string() verhinderst du Codeeinschleusungen bei der Kommunikation mit der Datenbank.

Das $_Post gilt auch für Variablen die über ein Formular übergeben werden.

POST gilt _nur_ für Formulare, GET geht per URL oder Formular.

Zusatzfrage:
In wie weit kann ich aber darüber "bösen Code" vermeiden? Was muß ich da noch zusätzlich beachten, bzw. wie sollte ich die übergebenen Variablen prüfen.

Prüf ob sie den erwarteten Inhalt haben und verwende sie später kontextspezifisch. mysql_real_escape_string() bei DB-Statements, htmlspecialchars() bei HTML-Ausgabe.

Grüße, Matze