PHP Weiterleitung nach Login
Habe ich eine subdomain
accounts.mysite.com
Was ich will, ist ein login panel für die subdomain, dann, nachdem ein Benutzer sich anmeldet, es leitet Sie auf Ihrer eigenen Seite (und hält Sie von der Betrachtung "anderen Konto" - Seiten).
Also, wenn Sie gehen, um accounts.mysite.com das ist die login-Seite. Meldet sich der Benutzer in die Verwendung von bestimmten Namen, pass. Nach dem erfolgreichen login direkt auf deren Konten Seite aber blockiert alle anderen Seiten.
Hier ist was ich bisher
<?php
ob_start();
$host="localhost"; //Host name
$username="******"; //Mysql username
$password="*******"; //Mysql password
$db_name="medpro_test"; //Database name
$tbl_name="members"; //Table name
//Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
//Define $myusername and $mypassword
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
//To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);
//Mysql_num_row is counting table row
$count=mysql_num_rows($result);
//If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
//Register $myusername, $mypassword and redirect to file
session_register("myusername");
session_register("mypassword");
header('Location: user.php?id=' . $_SESSION['user_id']);
}
else {
$result = MYSQL_QUERY($sql) or die('Query failed: ' . mysql_error() . "<br />\n$sql");
echo "Wrong Username or Password";
}
ob_end_flush();
?>
Ich bin ein noob, so dass jede Hilfe wäre dankbar!
- Außerdem haben Sie sich überlegt mit einem PHP-framework, um Sie bei Ihrer Bewerbung helfen Struktur? (Die Anmeldung/Rechnung Art der Dinge, wie gut.) Hier ist eine Liste der beliebtesten PHP-frameworks, wenn Sie sich entscheiden, einen zu verwenden, die in der Zukunft: en.wikipedia.org/wiki/...
- Ich kann nicht verstehen, warum die Leute immer noch die Mühe zu lernen, zu benutzen
mysql_*
Funktionen. Lernen PDO Menschen, es ist besser!!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dein code sieht schlecht aus.
session_register("myusername");
- Diese Funktion ist VERALTET und ab PHP 5.3.0.Verschieben Sie Ihre Datenbank-config zu einer anderen Datei.
Verwenden, header location http://php.net/manual/en/function.header.php
zum verschieben der Benutzer auf den link.
Include-Datei am Anfang jeder Datei, die gesperrt werden sollen, das enthält etwas wie:
Dieser leitet den Benutzer an user.php jedesmal, wenn Sie versuchen, andere zu besuchen-Datei.
Edit: Und vergessen Sie nicht, verwenden
session_start()
am Anfang jeder Anfrage.