[PHP/MySQL] Login
-
kannst du mir das mit $user... mal erklären?
Ich habe deine Variable $ligne eben umbenannt! mysql_fetch_row liefert im Erfolgsfall ein indiziertes Array zurück und falls kein Datensatz vorhanden ist FALSE -> du kannst es gleich für die if-Bedingung verwenden
Und wie kann ich die Variablen an forum.php übergeben??
Entweder direkt über die URI forum.php?name=bla&password=foo oder du erstellst ein Formular mit action="forum.php" und method="post". Du solltest allerding in forum.php nicht mit $name und $password darauf zugreifen, sondern über $_GET['name'] und $_GET['password'] (falls du PHP > 4.1.0 hast).
Falls du dein Formular per method="post" verschickst greifst du über das $_POST-Array auf die Variablen zu. Du kannst aber auch in beiden Fällen $_REQUEST verwenden.Ich hoffe, ich konnte dir weiterhelfen
-
Original erstellt von Cenetix:
@Unix-Tom:
Ok, an die Optimierung hab ich jetzt nicht gedacht.Dies sind im Web GRUNDLAGEN die man nicht übersehen darf.
Ich wollte eigentlich nur die Abfrage in diesem thread nicht weiterführen lassen sonst macht er zum Schluss wieder ein SELECT *
-
Du könntest auch eine Session starten und in dieser einfach die variablen speichern....
-
Was hat das jetzt mit diesem Thema zu tun ?
-
Er ist wohl wegen der Übergabe per URI darauf gekommen. Das kann man sich ja sparen, wenn man nach erfolgreichem Login die Daten in der Session speichert
-
@flenders: bin noch N00b, kannste das mit $_GET was näher erklären?
-
In der php.ini gibt es eine Einstellung register_globals, die früher defaultmäßig auf on war, in neuen Versionen aber standartmäßig auf off eingestellt ist.
Ist dieser Schlüssel auf on, so kann man auf die per get, post, cookie, etc. übertragenen Variablen direkt über deren Namen zugreifen. Da dies aber ein gewisses Sicherheitsrisiko ist, da Variablen aus deinem Script beeinflusst werden können ist diese Einstellung jetzt auf off.
Um auf die Werte trotzden zugreifen zu können gibt es zum einen das $HTTP_GET_VARS, $HTTP_POST_VARS,... Array. Dies ist auch bei älteren PHP-Versionen ( < 4.1.0 ) schon vorhanden, aber nicht Autoglobal, d.h., wenn du aus einer Funktion darauf zugreifen willst musst du es erst mit global $HTTP_GET_VARS global machen. Mit PHP 4.1.0 wurden dann die Autoglobals (oder auch Superglobals) $_GET, $_POST, ... eingeführt, bei denen dies nicht mehr nötig ist.
Dies sind assoziative Arrays, bei denen jeweils den Name als Schlüssel (Index) verwendet wird. Wird z.B. dein Script mit test.php?counter=1 aufgerufen, so findest du in $_GET['counter'] den Wert 1.Sind jetzt alle deine Fragen diesbezüglich beantwortet?
-
also das heisst, dass ich beim Link zum Forum nach dem login angeben muss:
forum.php?name=$name
und dann in forum.php mit $_GET['name'] darauf zugreifen kann?
-
ja
-
Du hast doch sicher ein Formular, über das du dich einloggst. Bei diesem gibst du ja mit method an, ob es per post oder get verschickt werden soll. In dem bei action angegebenen Script kannst du dann die Daten überprüfen und ggf. einen login durchführen. Den Recht macht man dann meist per Sessions -> Du übergibst nur eine Session-ID (Cookie und / oder URI)