test.php?id=12 wie geht des?
Christopher
- php
Grüß euch!
Hab ne frage wie kann ich jezt auf einer Seite nennen wir an sie heisst test.php, nur die ID 1 auslesen?????
habe auf verschiedene seiten folgendes gesehen! www.xbillib.de/test.php?=1
dann kommt ein anderer Text als ich
www.xbillib.de/test.php?=2
eingeben!
Wie geht des nun???
Folgenden Quelltext habe ich!
<?
$host = "127.0.0.1";
$user = "XXXX";
$password = "XXXX";
$dbname = "10865_10865";
$tabelle ="bild";
$dbverbindung = mysql_connect ($host, $user, $password);
$dbanfrage = "SELECT * FROM bild ";
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);
while ($ausgabe = mysql_fetch_array ($result))
{
echo ("
<h2>$ausgabe[id]</h2>
<h1>$ausgabe[text]</h1>
");
}
mysql_close ($dbverbindung)
?>
MFG WEBER CH
Hi,
also wenn ich dich recht verstehe, willst du immer nur einen Datensatz aus deiner Datenbank anzeigen lassen, abhaenging vom uebermittelten wert für die Variable $id.
Falls das der Fall ist, dann so:
"SELECT * FROM bild WHERE id = '$_REQUEST[id]'"
mfg
Philipp
Danke es funktioniert!
Hallo,
"SELECT * FROM bild WHERE id = '$_REQUEST[id]'"
Hier wird also direkt die Benutzereingabe in die SQL-Query eingebaut.
Das ist extrem gefaehrlich, fast "virtueller Selbstmord".
Stichwort "SQL Injection".
Nicht machen!
In diesem Fall wuerde es IMHO reichen, die Eingabe
in eine Zahl umzuwandeln:
if (isset($_REQUEST['id']))
$id_intern=intval($_REQUEST['id'])
else
$id_intern=0;
$query = "SELECT * FROM bild WHERE id = '$id_intern'";
Bei Strings sollte man zumindest mysql_escape_string() anwenden,
bevor man sie in eine Query einbaut.
Weitere Infos siehe </archiv/> und
http://www.dclp-faq.de/ch/ch-security.html
Gruesse,
Thomas