我有一个基本的php登录脚本。我有三个字段:“username”,“password”和“url”。我想根据用户名和密码组合将每个用户重定向到自己的网址。我不知道如何将“url”合并到我的剧本中。
这是我的check_login.php
<?php
$host="localhost"; // Host name
$username="myusername"; // Mysql username
$password="mypassword"; // Mysql password
$db_name="naturan8_login"; // Database name
$tbl_name="users"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or
die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// username and password sent from form
$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);
$count=mysql_num_rows($result);
if($count==1){
session_register("myusername");
session_register("mypassword");
header("location:login_success.php");
}
else {
header("location:error.htm");
}
?>
答案 0 :(得分:1)
一些事情:
session_register
已弃用。请改用$_SESSION['username'] = $username
。$_SESSION['username']
var以查看它是谁。 (确保您可以session_start()
在您打算读/写会话数据的所有页面上。答案 1 :(得分:1)
切换以下代码:
$count=mysql_num_rows($result);
if($count==1){
session_register("myusername");
session_register("mypassword");
header("location:login_success.php");
}
...为:
$user_info = mysql_fetch_assoc($result);
if( isset($user_info['url']) ) {
session_register("myusername");
session_register("mypassword");
header('Location: ' . $user_info['url']); //Redirects to the supplied url from the DB
}
希望这就是你要找的东西!
答案 2 :(得分:0)
使用mysql_result()从查询中提取url字段:
http://php.net/manual/en/function.mysql-result.php
$url = mysql_result($result, $x); // $x is the column number of the url field.
header("location: {$url}");
答案 3 :(得分:0)
将header("location:login_success.php");
替换为
$user = mysql_fetch_assoc($result);
header("location:{$user['url']}");
答案 4 :(得分:0)
查询:
$sql="SELECT url FROM $tbl_name WHERE username='$myusername' and
password='$mypassword' LIMIT 1";
然后在重定向的位置,将其替换为:
header("Location: " . mysql_result($sql, 0));