【发布时间】:2018-06-27 15:24:09
【问题描述】:
在此网址中(网址 SEF 有效): www.mysite.com/test/test-test?source=mycampaign
我想在不同的页面上传递变量(mycampaign)。
使用此代码可以在 2 页中正常工作:
第 1 页(www.mysite.com/index.php/test/test-test?source=mycampaign):
session_start();
$_SESSION['source'] = $_GET['source'];
第 2 页
session_start();
$source = $_SESSION['source'];
第 3 页
session_start();
$source = $_SESSION['source'];
当我到达第 3 页时,该变量不再起作用。网址更改为:www.mysite.com/index.php?option=com_users&view=registration&Itemid=371
此代码在禁用 URL SEF 和使用 url 字符串“&source=mycampaign”而不是“?source=mycampaign”时完美运行
有人可以帮助我吗?谢谢
【问题讨论】:
-
如果您想通过 sef url 传递变量,那么您需要更改该组件的路由器文件。如果它没有正确解析 url,它将无法工作。你能分享你的代码让我看看吗?
-
我能够用这段代码解决(在索引模板页面中): session_start(); if (isset($_GET["source"])) { $_SESSION["source"] = $_GET["source"];并在第 3 页: session_start(); if (isset($_SESSION["source"])){ } session_destroy();对吗?
-
这段代码看起来不安全。小心使用 $_GET。我不是安全专家,但最好听取其他人的意见。 joomla 有不同的方式来处理会话docs.joomla.org/…
标签: php session variables joomla