首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法将特定变量传递给会话

无法将特定变量传递给会话
EN

Stack Overflow用户
提问于 2013-08-02 13:59:33
回答 2查看 167关注 0票数 1

我正试图做以下工作(我知道这似乎是不必要的复杂,但我不得不将问题分解为它的细节):

page_a.php

代码语言:javascript
复制
$keywords = get_meta_tags($_SERVER['HTTP_REFERER']);
$author = $keywords['author']; //"nameofauthor"
$foo = "foo";
$keywords = array ( "author" => $author, "foo" => $foo);
$_SESSION['keywords'] = $keywords;

//echo $author on page_a.php would successfully print "nameofauthor", so the variable isn't empty

page_b.php

代码语言:javascript
复制
echo $_SESSION['keywords']['author']; //echoes ""
echo $_SESSION['keywords']['foo']; //echoes "foo"

我遗漏了什么?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-05 06:48:34

我发现这个问题是包含脚本的页面的双重执行。

在第一次运行中,引用程序是从远程站点(我需要从远程站点检索元标记)获取的。

在第二次运行中,引用程序是从脚本托管站点中提取的,因此,这个运行会用空值覆盖标记(因为脚本本身没有使用元标记)。

为了避免后者,我添加了以下行来检查它是第一次执行还是第二次执行。

代码语言:javascript
复制
$baseurl = parse_url($request->getBaseUrl()); //My framework's function to return the hosting system's base-url (e.g., example.com)
$referer = strstr($_SERVER['HTTP_REFERER'], $baseurl['host']) ? $_SESSION['referer'] : $_SERVER['HTTP_REFERER'];
$keywords = get_meta_tags($referer);

谢谢你分享你的想法!

票数 1
EN

Stack Overflow用户

发布于 2013-08-03 12:07:02

Warning: get_meta_tags(): Filename cannot be empty

get_meta_tags -从文件中提取所有元标记内容属性并返回一个数组。

您正在处理的不是文件,而是全局变量。

示例:

$tags = get_meta_tags('http://www.example.com/');

你可能想要:get_headers()

  • 返回一个数组,其中包含服务器响应HTTP请求而发送的标头。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18018772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档