Mahlzeit!
Ist es möglich, über ein Formular eine ganz einfache Suche auf eine Seite einzubinden? Ich stelle mir das so vor: Das Textfeld heißt "searchword". Beim Klick auf die Schaltfläche soll eine Abfrage "SELECT $searchword FROM tabelle"... Würde dieser Vorgang mit etwas Aufwand fruchten oder ist das ohne weiteres nicht möglich?
Bestes,
Andi
Original geschrieben von AndiA
Ich stelle mir das so vor: Das Textfeld heißt "searchword". Beim Klick auf die Schaltfläche soll eine Abfrage "SELECT $searchword FROM tabelle"...
diese beispiel-query würde dann zu allen datensätzen den wert der spalte $serachword auslesen, bzw. einen fehler produzieren, wenn es keine solche gibt.
du meinst vermutlich eher eine einschränkung der ergebnismenge über eine WHERE-klausel.
ja, sowas ist möglich.
befasse dich mit den grundlagen von PHP und mysql, dann sollte das recht einfach machbar sein.
aber bitte auf die sicherheit achten, stichwort sql injections.
So, habe mal was gebastelt. Kannst du mir verraten, ob diese billige Anfrage unsicher ist?
search.php
<form method="post" action="searchres.php">
Suchbegriff<br>
<input name="searchfield" type="text">
<br>
<input type="submit" name="Submit" value="Suchen">
<input type="hidden" name="search">
</form>
============
searchres.php
<?
if (isset($search))
{
$sql = "SELECT * FROM eintrag WHERE thema LIKE '%$searchfield%'";
$ergebnis = mysql_query($sql);
while($row = mysql_fetch_object($ergebnis))
echo "$row->id $row->thema<br>";
}
?>
Vielen Dank
Andi
jahlives
14-03-2005, 13:14
So, habe mal was gebastelt. Kannst du mir verraten, ob diese billige Anfrage unsicher ist?
Das hängt davon ab, was du alles mit $searchfield machst bevor du es in der DB Abfrage verwendest.
Da es sich um eine Usereingabe handelt, tust du gut daran diese genau zu prüfen, ehe du sie auf die DB loslässt.
So wie du jetzt auf $searchfield zugreifst, scheint es mir so zu sein, dass du register_globals = on verwendest --> und das ist ganz bestimmt ein Sicherheitsproblem !!
Gruss
tobi