我想知道我是否可以在附加到登录名的数据库中使用URL,当用户登录脚本时,该URL将读取URL重定向到该登录名?或者关于简单的唯一登录重定向的任何其他想法?
我的数据库由 ID/用户名/密码/url 列组成 - 显然我已经对连接内容进行了排序,尽管您不需要看到它们;)
我的代码是
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
$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);
$count=mysql_num_rows($result);
$count=mysql_num_rows($result);
if($count==1){
session_register("myusername");
session_register("mypassword");
header('Location: '.$row['url']);
}
else {
echo "Wrong Username or Password";
}
ob_end_flush();
?>
是的,你可以。在登录时,只需从数据库表中读取 URL 并使用标头("位置:...")重定向;
你不会在yor数据库中创建这样的东西。
您可以在数据库中放置一个 url 字段,以便在他们登录时使用。
在您的 PHP 脚本中,一旦您通过从数据库获取结果行来验证用户确实存在并且他/她的密码是正确的(当然,更复杂的登录会做更多),您可以使用以下内容:
header('Location: '.$row['url']);
根据用户的登录状态将该用户重定向到另一个页面。尽管作为提示,请确保使用某种 $_SESSION 变量记录它们,该变量在您重定向它们之前设置并在另一页上检查其值。
编辑
不推荐使用 session_register:http://php.net/manual/en/function.session-register.php
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
$sql="SELECT * FROM $tbl_name WHERE username=".mysql_real_escape_string($myusername)." and password=".mysql_real_escape_string($mypassword);
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1){
$_SESSION['myusername'] = $myusername;
$_SESSION['mypassword'] = $mypassword;
while($row = mysql_fetch_assoc($result)){
header('Location: '.$row['url']);
exit(); // As a user above mentions this is actually quite important
}
}else{
echo "Wrong Username or Password";
}
去掉那个结束的PHP标签,你真的不想要它。我认为这应该有效,您可能会遇到SQL错误,在这种情况下,您可能会发现是引号引起了痛苦,并且应该用'
封装字段值,但我总是忘记mysql_real_escape_string是如何转义的,所以Ima暂时就这样离开了。
使用数据库中的登录字段添加一个指定 url 的字段。现在,当此人登录时检索 URL,然后使用以下代码重定向到检索到的 URL
header('Location: http://www.example.com/');