我可以从附加到登录的 mysql 数据库中提取 URL 吗?


Can i pull a URL from a mysql database attached to a log in?

我想知道我是否可以在附加到登录名的数据库中使用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/');