2011-03-30 37 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数组没有任何价值。

相关问题