2011-03-30 36 views
0

我已經創建了一個登錄頁面,在用戶通過驗證後應該重新指向他的個人資料頁面。然而,這種情況並非如此。 這是一件應該做的頁面:如何格式化Login.php重定向到用戶的個人資料頁面


// if login is ok then we add a cookie 
    $_POST['username'] = stripslashes($_POST['username']); 
    $hour = time() + 3600; 
setcookie(ID_startHere, $_POST['username'], $hour); 
setcookie(Key_startHere, $_POST['pass'], $hour);  

//then redirect them to the members area 
header("Location: myprofile.php?username=$username"); 

但是,相反,我只是不斷收到:

Warning: extract() [function.extract]: First argument should be an array in /mounted-storage/home94c/sub005.... myprofile.php 

我很感激你的答案。謝謝。我可以在這裏想到的

+1

問題出在'myprofile.php'上。從中看到一些代碼會很有用。 – EmCo 2011-03-30 04:32:47

+0

我當然希望你沒有在$ _POST變量上使用extract()函數。這非常危險。 – Flipper 2011-03-30 05:35:07

回答

0

兩件事情是

1)一方或雙方POST缺少值

2)$的用戶名未初始化。

通常,點#2不會導致任何錯誤,所以我會說,註釋您的header()行並執行var_dump($ _ POST)以查看實際傳遞的值。

而且,看看你有什麼ID_startHere和Key_startHere

希望這有助於。

0

您對myprofile.php

的地方,有這樣的錯誤:

extract($somearray); 

你的錯誤表示$somearray不是數組。

嘗試查看其使用上myprofile.phpvar_dump($somearray);

後的代碼片段會更好地得到更多的正確的答案。

0

我可以在你發佈的代碼看到的是,$username不採取任何價值,所以當你重定向頁面,編碼的URL看起來像myprofile.php?username=,當您嘗試使用extract你的錯誤,因爲$_GET$_POST數組沒有任何價值。

相關問題