Hallo Markus,
ein par Anmerkungen zu deinem Quellcode:
[quote="Marcus"]
<?php
$sqlab = "select Verfasser, Titel, Kategorie, Verlag, Verlagsort from Tabelle1";
$sqlab .= " where Verfasser like \'$anf%\' ";
[/QUOTE]
Wo wird bei dir die Variable $anf gesetzt, holst du die explizit aus einer GET/POST Variablen?
Das Stichwort auf das ich hinausmöchte ist register_globals.
[QUOTE="Marcus"]<?php
$res = mysql_db_query("datenbank", "$sqlab");
[/QUOTE]
mysql_db_query ist veraltet, du solltest stattdessen mysql_select_db und mysql_query nutzen. (siehe http://de.php.net/mysql_db_query.)
Das Umschließen von $sqlab ist unnötig, die Variable ist ja bereits vom Typ String.
[QUOTE="Marcus"]<?php
$ka = mysql_result($res, $i, "Kategorie");
$au = mysql_result($res, $i, "Verfasser");
$ti = mysql_result($res, $i, "Titel");
$ve = mysql_result($res, $i, "Verlag");
$vo = mysql_result($res, $i, "Verlagsort");
[/QUOTE]
Ich empfehle dir dringen, von derartigen Abkürzungen Abstand zu nehmen.
Code wird immer nur einmal geschrieben, aber meist öfter gelesen. Die paar Sekunden, die du fürs Tippen längerer Variablen brauchst, die holst du locker wieder rein, wenn du irgendwann mal Änderungen vornehmen willst.
Das Tutorial was du angegeben hast, beruht noch auf PHP 4. Die aktuelle PHP Version ist 5.3, ich würde dir ein aktuelleres Tutorial empfehlen: http://tut.php-quake.net/de/
@Jörg:
Achtung, du hast eine schwere Sicherheitslücke in deinem Code!
Traue niemals den Eingaben der Benutzer (auch nicht in Beispielen). Alles was irgendwie von außen kommt, muss erst überprüft bzw. maskiert werden:
<?php
if (!isset($_Post[\'text\'])) {
$datenbank = \'\';
} else {
$datenbank = " WHERE autor = \'%" . mysql_real_escape_string($_Post[\'text\'], $db) ."%\'";
}
Deine Funktion wäre wesentlich variabler einsetzbar, wenn du auf global verzichten würdest:
<?php
function whereAnd($actWhere)
{
if (striPos($actWhere,"WHERE") === false) {
return \' WHERE \';
}
return \' AND \';
}
Generell sind global und eval auf die man so oft wie möglich verzichten sollte.
Naturkosmetik in Bochum
Steppenhahn Ultramarathon-Community
Beitrag erstellen
EinloggenKostenlos registrieren