Php $\u会话不';我不能正常工作

Php $\u会话不';我不能正常工作,php,Php,有人知道为什么下面的代码不能正常工作吗 function LinksPage() { $ClickedWord = $_GET['clickedword']; foreach($_SESSION['Links'] as $key=>$value) { if ($key == $ClickedWord) echo $key." ".$value.' <br />'; } } 函数LinksPage() { $C

有人知道为什么下面的代码不能正常工作吗

function LinksPage()
{
    $ClickedWord = $_GET['clickedword'];
    foreach($_SESSION['Links'] as $key=>$value)
    { 
        if ($key == $ClickedWord)
        echo $key."  ".$value.' <br />';
    }
}
函数LinksPage()
{
$ClickedWord=$\u获取['ClickedWord'];
foreach($\会话['Links']作为$key=>$value)
{ 
如果($key==$ClickedWord)
回显$key.“$value.”
; } }

当我检查
$ClickedWord
$\u SESSION['Links']
时,我看到
$\u SESSION['Links']
中有一个键与
$ClickedWord
匹配,但当我运行程序时,如果没有生成输出。

这段代码很好。问题在于
$\u SESSION['Links']
$\u GET['clickedword']
。在
LinksPage
中添加以下调试代码:

echo '$_GET["clickedword"]: ';
var_export($_GET['clickedword']);
echo '$_SESSION: ';
var_export($_SESSION);
最有可能的情况是,尚未为正在使用的会话设置
$\u会话['Links']
,或者您设置了
$\u会话['Links']
(小写L)。

nasi,试试这个

$_GET['clickedword'] = "http://stackoverflow.com/questions/7454193/session-doesnt-work-properly";
$ClickedWord = @$_GET['clickedword'];
$_SESSION['Links'] = "http://stackoverflow.com/questions/7454193/session-doesnt-work-properly";
foreach($_SESSION as $key=>$value)
{ 
    if ($value == $ClickedWord)
    echo $key."  ".$value.' <br />';
}
$\u GET['clickedword']=”http://stackoverflow.com/questions/7454193/session-doesnt-work-properly";
$ClickedWord=@$_GET['ClickedWord'];
$\u会话['Links']=”http://stackoverflow.com/questions/7454193/session-doesnt-work-properly";
foreach($\会话为$key=>$value)
{ 
如果($value==$ClickedWord)
回显$key.“$value.”
; }
更换:

if ($key == $ClickedWord)


尝试使用var_dump($_会话['Links')调试$_会话['Links'];可能在
$ClickedWord
的内容后面有一个空格。因此,如果您的
$key
包含
test
,而
$ClickedWord
包含
test
,则它将不匹配。请尝试从
$ClickedWord
中删除空格和其他字符,就像这样
$key==trim($ClickedWord)
@Thomas Cantonnet:请阅读我对下一个答案的评论。@Shed:我选中了trim。什么都没变!我看到你在clickedword上有斜杠:\'Advise\',你能详细说明一下吗?您应该使用var_dump($_GET['clickedword'])并将其与var_dump($_会话['Links'])的输出进行比较;我添加了您所说的内容,但做了一点修改,这是输出:$\u GET['clickedword']:'\'Advise\''$\u会话['Links']:数组('sources'=>'','Advise'=>'','Corporation'=>'','traditional'=>'')@nasi您绝对确定没有执行回音吗?尝试将其替换为
模具(“找到的项目”)变量导出的输出($\u GET['clickedword')真的是
“\'advision\”
?@Volkerk我刚刚复制了浏览器输出并粘贴了它here@phihag是的,我是。我测试了你的建议,没有输出!@bharanikumar Bs:好的。你的代码是有效的。但是根据你的例子,我不明白我应该在代码中做些什么来让它有效。
code
foreach($\u SESSION['Links']as$key=>$value)将其更改为foreach($\会话as$key=>$value)
code
if ($value == $ClickedWord)