Php 将每个用户重定向到不同的页面
我正在为一个朋友创建一个摄影网站。它的一部分是一个客户端登录区,客户端可以输入我的朋友给他们的用户名和密码,以查看他们拍摄/婚礼等的所有照片 我已经创建了客户端登录表单和login.php:Php 将每个用户重定向到不同的页面,php,redirect,login,Php,Redirect,Login,我正在为一个朋友创建一个摄影网站。它的一部分是一个客户端登录区,客户端可以输入我的朋友给他们的用户名和密码,以查看他们拍摄/婚礼等的所有照片 我已经创建了客户端登录表单和login.php: $user = mysql_real_escape_string($_POST["username"]); $pass = mysql_real_escape_string($_POST["password"]); $clientdata = mysql_query("SELECT * FROM User
$user = mysql_real_escape_string($_POST["username"]);
$pass = mysql_real_escape_string($_POST["password"]);
$clientdata = mysql_query("SELECT * FROM Users WHERE username='$user' and password='$pass'")
or die (mysql_error());
$data = mysql_fetch_array($clientdata, MYSQL_ASSOC);
if(mysql_num_rows($clientdata) == 1){
session_start();
$_SESSION['username'] = $user;
$username = $hook->getValue('username');
$pageId = 'index';
switch ($username) {
case 'Marie&Peter':
$pageId = 'MarieWeddingGallery.php';
break;
}
$landingPage = $modx->makeUrl($pageId, "", "", 'full');
$modx->sendRedirect($landingPage);
}else{header('Location: clientLogin.html');}
切换部分应该根据用户提供的用户名重定向用户,但它不起作用。有什么建议吗?为什么从$hook获得$username?您在变量$user中已经有用户名
switch ($user) {
应该可以解决您的问题。首先,要完全回答这个问题,我们需要知道$modx是什么。问题似乎出在$modx->makeUrl()或$modx->sendRedirect()中 一个快速的解决办法是更换线路
$pageId = 'MarieWeddingGallery.php';
与
这与重定向到登录页面时使用的技术相同
最后,使用开关根据用户名加载页面不是一个好方法。每个新用户都需要您添加代码来支持他们。您应该在库页面的数据库中添加一个字段。也可以使用其他技术
要基于数据库字段加载页面,应使用替换开关
header('Location: ' . $data['targetPage']);
这要求数据库中的targetPage字段包含php文件的全名(例如“MarieWeddingGallery.php”)。您只需向数据库中再添加一个字段:即targetPage。而不是在PHP中使用开关。然后在同一行记录集上执行一个简单的重定向。@MichaelMitch我已将该字段添加到数据库中。很抱歉,我对这个很陌生,因为你可能可以通过我混乱的代码猜到!我需要添加什么代码才能重定向到数据库中列出的文件?我像建议的那样将字段命名为“targetPage”。
header('Location: ' . $data['targetPage']);