2012-02-11 2 views
0

Я пытаюсь создать страницу входа для своего сайта. Мне удалось создать базу данных с простым столбцом имени пользователя и пароля. И использовали Dreamweaver для создания формы входа. Моя проблема в том, что я хочу, чтобы пользователи были перенаправлены на разные страницы, исходя из того, кто они. Пример: если Боб (имя пользователя: bob123) входит в систему, я хочу, чтобы он был перенаправлен на страницу x, но если в журнал войдет Joe (имя пользователя: joe123), я хочу, чтобы он был перенаправлен на страницу y. Dreamweaver позволяет мне указывать только одну страницу.Как создать пользовательский переадресацию для входа

Кто-нибудь знает какой-либо код, который перенаправляет пользователей на основе их имени пользователя в базе данных.

Мои навыки в HTML и CSS достойны, но я почти ничего не знаю, когда речь заходит о таких вещах. Любая помощь будет принята с благодарностью.

Спасибо!

Вот код php, который у меня есть до сих пор (он был создан Dreamweaver, а не мной).

<?php 
// *** Validate request to login to this site. 
if (!isset($_SESSION)) { 
    session_start(); 
} 

$loginFormAction = $_SERVER['PHP_SELF']; 
if (isset($_GET['accesscheck'])) { 
    $_SESSION['PrevUrl'] = $_GET['accesscheck']; 
} 

if (isset($_POST['username'])) { 
    $loginUsername=$_POST['username']; 
    $password=$_POST['password']; 
    $MM_fldUserAuthorization = ""; 
    $MM_redirectLoginSuccess = "http://------------"; 
    $MM_redirectLoginFailed = "http://-------------"; 
    $MM_redirecttoReferrer = false; 
    mysql_select_db($database_-------------, $---------); 

    $LoginRS__query=sprintf("SELECT Username, Password FROM userdatabase WHERE Username=%s AND Password=%s", 
    GetSQLValueString($loginUsername, "int"), GetSQLValueString($password, "int")); 

    $LoginRS = mysql_query($LoginRS__query, $----------------) or die(mysql_error()); 
    $loginFoundUser = mysql_num_rows($LoginRS); 
    if ($loginFoundUser) { 
$loginStrGroup = ""; 

    if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();} 
//declare two session variables and assign them 
$_SESSION['MM_Username'] = $loginUsername; 
$_SESSION['MM_UserGroup'] = $loginStrGroup;  

if (isset($_SESSION['PrevUrl']) && false) { 
    $MM_redirectLoginSuccess = $_SESSION['PrevUrl']; 
} 
header("Location: " . $MM_redirectLoginSuccess); 
    } 
    else { 
header("Location: ". $MM_redirectLoginFailed); 
    } 
} 
?> 

ответ

3

В PHP перенаправления на другую страницу, отправив заголовок, содержащий новое место:

header("Location: http://www.example.com"); 

Простой, но не очень масштабируемым решением является заменить:

header("Location: " . $MM_redirectLoginSuccess); 

с:

if ($loginUsername === 'bob123') { 
    header("Location: http://www.example.com/bobs_page.html"); 
} else if ($loginUsername === 'joe123') { 
    header("Location: http://www.example.com/joes_page.html"); 
} else { 
    header("Location: " . $MM_redirectLoginSuccess); 
} 
+0

Спасибо! Это сработало отлично, и вы отлично справились с этим. –

1

Ну, я не использую DreamWeaver (я бы установить его на моей машине, так как он пришел с CS5 Web Premium ... ни разу не выстрелил вверх), но мое предложение было бы хранить для каждого пользователя предпочтительной странице входа в вашу базу данных, получить значение из базы данных и соответственно изменить $ MM_redirectLoginSuccess.

Для этого потребуются знания PHP и MySQL. Нет времени, как настоящее, чтобы узнать: P

Смежные вопросы