我爲用戶創建了配置文件,以便用戶登錄時將其重定向到他們自己的配置文件頁面。重定向登錄用戶
login.php中(僅相關代碼)
$MemberID = user_id_from_username($username);
$_SESSION['MemberID'] = $username;
header('location: member.php?username='.$username);
member.php
if (logged_in() === true){
echo "Welcome, ".$_SESSION['MemberID']. "!<br><a href='logout.php'>Logout</a>\n<a href='index.php'>Back to homepage</a></p>";
}
if(isset($_GET['username']) === true & empty ($_GET['username']) === false) {
$username = $_GET ['username'];
//check if user actually exisits
if (user_exists($username) === true) {
//get username from user id
$MemberID = user_id_from_username($username);
$profile_data =user_data($MemberID,'Name','Address','Postcode','DOB','Mobile','CoinsAvailable','Email','profile','OddJobName','Description','CoinValue','DaysAvailable');//Need to pull out stuff from oddjob table
echo $MemberID;
}else{
protect_page();
}
}
相關功能:
function user_data($MemberID){ //pass in memberid to get info about user
$data = array();//data to be returned
$MemberID =(int)$MemberID;//creating int from this input
$func_num_args = func_num_args(); //count number of arguments from user data on init.php
$func_get_args = func_get_args();
if ($func_num_args >1) { //if more then 1, unset the first element of array
unset($func_get_args[0]);
$fields = '`' . implode('`,`', $func_get_args) . '`'; //taking array and converting to string
$data = mysql_fetch_assoc(mysql_query("SELECT $fields FROM `member`,`oddjob` WHERE member.MemberID = oddjob.MemberID AND member.MemberID = $MemberID"))or die (mysql_error());
//echo $MemberID;
return $data;
}
}
function logged_in() {
return (isset($_SESSION['MemberID'])) ? true : false; //Email
}
if (logged_in() ===true) {
$session_MemberID = $_SESSION['MemberID'];//grabbing value from login
$user_data= user_data($session_MemberID,'MemberID','Name','Address','Postcode','DOB','Mobile','CoinsAvailable','Email','Password','RepeatPassword','OddJobName','Description','DaysAvailable','profile');
exit();
}
所有這些代碼允許用戶被重定向到其自己的頁面,當他們登錄他們的名字時會顯示其他$profile_data
信息。現在我希望用戶能夠通過點擊update_info.php鏈接更新他們自己的信息。但我不知道如何讓會員用戶名出現在當他們參觀update_info.php登錄時,像它的URL
在會員頁面(其中鏈接),我試過。
<a><?php header('location:update_info.php?username='.$username)?>">Update info</a></p>
但現在當用戶登錄時,他們被重定向到update_info.php而不是member.php。有誰能告訴我如何解決這個問題嗎?謝謝。
PFF你想讓我開始評論這段代碼....讓我們從'loggedIn()'定義的地方開始吧?你對它進行了測試,但是我看不到這個功能。其次:爲什麼在''-tag內有'header()'? – stUrb 2013-04-06 14:57:02
@stUrb對不起,忘了添加日誌功能。我所有的函數都在一個名爲init.php的獨立文件中,該文件包含在所有頁面的頂部。原來我在那裏有href,忘記刪除標籤,表示歉意。 – Lairds 2013-04-06 15:04:04