我无法弄清楚如何从php标头中获取用户的$username
。
登录/注册后,标题包含一个带有用户用户名的变量,但是当我想将它用于profile.php页面时,我无法弄清楚如何获取该变量。每个人都建议使用$_GET['username']
,但由于某种原因似乎没有用。我确定这很明显,我无法理解。
这是我的标题:
header('location: home.php?user='.$username);
我只是希望能够为$username
文件获取profile.php
变量,以便我可以回复该用户名。
UPDATE 根据建议重新编写它,配置文件php如下:
<?php if(isset($_GET['user'])) {
echo $username;
} else {
echo "Error";
} ?>
仍设法产生错误
答案 0 :(得分:1)
如果您的标题是:
header('location: home.php?user='.$username);
使用此方法获取用户名:
$user = $_GET['user'];
$_GET
数组包含查询字符串中的参数。查询字符串如下所示:
param1=foo¶m2=bar // etc
因此,当您想从查询字符串中获取参数时,请使用$_GET['param1']
,$_GET['param2']
等。
您的代码有点不对:
<?php if(isset($_GET['user'])) {
echo $username;
} else {
echo "Error";
} ?>
首先,检查是否已分配$_GET['user']
。如果是,则执行echo $username;
。 $username
var未定义 - 您没有为此变量分配任何内容。
你必须使用:
<?php if(isset($_GET['user'])) {
echo $_GET['user'];
} else {
echo "Error";
} ?>
或者这个:
$username = $_GET['user'];
<?php if(isset($username)) {
echo $username;
} else {
echo "Error";
} ?>
答案 1 :(得分:0)
您更新的代码仍然有误,因为您正在检查$ _GET [&#39; user&#39;]`是否存在,但是回显了一个明显未初始化的变量。
试试这个:
<?php if(isset($_GET['user'])) {
echo $_GET['user'];
} else {
echo "Error";
} ?>