我希望能够将全局用户名设置<anythinghere>@domain3.com
为 $usernames 数组中的用户名值(在下面的代码中)。这样我就可以根据域去重定向用户,已经“认证”了。
我将在下面的代码中放置示例。
$usernames = array("username@domain1.com", $X)
我可以在哪里做类似的事情$X = <anything-so-long-as-not-blank>@domain3.com
吗?
完整代码如下:
<?php
//VALIDATE USERS
$usernames = array("username@domain1.com", "username2@domain1.com", "username3@domain1.com", "username1@domain2.com", "username2@domain2.com", "username1@domain3.com");
$passwords = array("password1", "password2", "password3", "password4", "password5", "password6");
//REDIRECT SPECIFIC VALID USERS OR DOMAIN
function get_page($username) {
$username = strtolower($username);
switch ($username) {
case "username@domain1.com" : return "http://www.google.com";
case "username2@domain1.com" : return "http://www.yahoo.com";
case "username3@domain1.com" : return "http://www.stackoverflow.com";
case "username1@domain2.com" : return "http://www.serverfault.com";
}
return preg_match('/@domain3\.com$/',$username) ?
"http://www.backblaze.com" : "DefaultBackupPage.php";
}
$page = get_page($_POST['username']);
for($i=0;$i<count($usernames);$i++)
{
$logindata[$usernames[$i]]=$passwords[$i];
}
$found = 0;
for($i=0;$i<count($usernames);$i++)
{
if ($usernames[$i] == $_POST["username"])
{
$found = 1;
}
}
if ($found == 0)
{
header('Location: login.php?login_error=1');
exit;
}
if($logindata[$_POST["username"]]==$_POST["password"])
{
session_start();
$_SESSION["username"]=$_POST["username"];
header('Location: '.$page);
exit;
}
else
{
header('Location: login.php?login_error=1');
exit;
}
?>
@inhan 已经像冠军一样帮助了我。我想知道是否有人可以让我过线?干杯!