2012-02-11 14 views
0

自分のWebサイトのログインページを作成しようとしています。私は簡単なユーザー名とパスワードの列を使用してデータベースを作成することができました。また、ログインフォームを作成するためにDreamweaverを使用しています。私の問題は、ユーザーが誰であるかに基づいて異なるページにリダイレクトされるようにすることです。例:Bob(ユーザー名:bob123)がログインしている場合、彼はページxにリダイレクトされますが、Joe(ユーザー名:joe123)がログインすると、彼はページyにリダイレクトされます。 Dreamweaverでは1ページしか指定できません。ユーザー固有のログインリダイレクトを作成する方法

誰かがデータベースのユーザー名に基づいてユーザーをリダイレクトするコードを知っていますか。

私の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

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

まあ、私は(それがCS5ウェブプレミアムに付属しているので、私はそれが私のボックスにインストールされていない...決してそれを一度解雇)のDreamweaverを使用しませんが、私の提案は、各ユーザのを保存することですデータベースの優先ログインページ、データベースから値を取得し、それに応じて$ MM_redirectLoginSuccessを変更します。

これには、PHPとMySQLの知識が必要です。学ぶために現在のような時間がない:あなたは新しい場所を含むヘッダを送信することにより、別のページにリダイレクトするPHPでP

関連する問題