genaue beschreibung
Hättest du die Suche benutzt hättest du jetzt mindestens schon 10 Lösungen von Usern die diesen und letzten Monat gepostet haben...
Selbst meine Oma hätte was zu dem Thema hier im Forum gefunden.
<?php
$user = $_POST['user'];
$password = $_POST['password'];
if (!empty($user) && !empty($password))
{
if ($this->mysql->connect())
{
if ($this->mysql->entry_count("user", "`name` = '" . mysql_real_escape_string($user) . "' AND `password` = '" . md5($password) . "' AND `block` = '0'") > 0)
{
$this->result = $this->mysql->read_entry("user","`name` = '" . mysql_real_escape_string($user) . "' AND `password` = '" . md5($password) . "'", "", 2);
$_SESSION['access'] = $this->result[0]->access;
$_SESSION['name'] = $this->result[0]->name;
$_SESSION['firstname'] = $this->result[0]->firstname;
$_SESSION['lastname'] = $this->result[0]->lastname;
$_SESSION['email'] = $this->result[0]->email;
# ...
?>
Alles anzeigen
mysql_real_escape_string()
Da das Passwort mit md5 versiehst, ist das schon mal ganz ok.
Den Namen könntest du noch mit einem regulären Ausdruck oder Funktionen wie ctype_alnum() prüfen, hier nach dem wie die bei dir aussehen und welche Zeichen du zulässt\zulassen willst.
Ansonsten währe noch ein Problem, dass der Query von $this->mysql->read_entry warscheinlich irgendwie so aussieht:
Zitat
SELECT * FROM....
was nicht gut ist...
Du solltest nur Felder auslesen die du auch benutzt.
Bitteschön, aber die Suche währe einfacher gewesen.
EDIT:
p.s.
mit COUNT(*) macht die Funktion erst richtig Sinn^^