我有一个子域名
accounts.mysite.com
我想要的是该子域的一个登录面板,然后在用户登录后将它们引导到他们自己的页面(并阻止他们查看“其他帐户”页面)。
所以当他们去account.mysite.com时,这是登录页面。用户使用特定名称登录,通过。成功登录后,将其导入其帐户页面,但会阻止所有其他页面。
这是我到目前为止所拥有的
<?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();
?>
我是菜鸟,所以任何帮助都会受到赞赏!
答案 0 :(得分:2)
你的代码看起来很糟糕
session_register("myusername");
- 自PHP 5.3.0起,此函数已被弃用。
将数据库配置移动到另一个文件。
$host="localhost"; // Host name
$username="******"; // Mysql username
$password="*******"; // Mysql password
$db_name="medpro_test"; // Database name
$tbl_name="members"; // Table name
使用标头位置http://php.net/manual/en/function.header.php 将用户移动到链接。
答案 1 :(得分:2)
答案 2 :(得分:0)
在每个应该被阻止的文件的顶部包含一个文件,其中包含以下内容:
<?php
if (isset($_SESSION['user_id']) && $_SESSION['user_id']) {
header('Location: user.php?id=' . $_SESSION['user_id']);
exit;
}
每当用户尝试访问另一个文件时,都会将用户重定向到user.php。
编辑:不要忘记在每个请求的开头使用session_start()
。