【发布时间】:2013-06-06 16:23:21
【问题描述】:
我有一点问题,可能是想多了,但我会很感激任何帮助。我有一个主域。所以,domain.com.. 作为登录页面设置为具有城市名称,您可以在其中单击以转到子域....location1.domain.com,我正在尝试将链接存储为变量以调用 @ 987654325@.
索引.PHP
if($_COOKIE['location'] == "")
{
?>
<body>
<center> Please select your city. </center>
<center> Location 1 </center>
<br><br><br>
<table width="100%">
<tr>
<td width="50%" align="center">
<a href='http://location1.domain.com' onclick="setCookie('location', 'location1',)">location1</a>
<td width="50%" align="center">
<a href="http://location2.domain.com" onlick="SetCookie('location','location2')">location2</a>
</td>
</tr>
</table>
<?
}
else
{
?>
<html>
<head>
<meta http-equiv="refresh" content="0; url=http://"<?$_COOKIE['location']?>".domain.com">';
echo '</head>';
echo '</html>';
<?
}
?>
我希望它是这样的,当我单击来自主索引的链接时,它将我的选择保存在 cookie 中,以便下次我访问 domain.com 时,它会自动将我重定向到我之前的选择。我也尝试过使用 js 来促进这一点,但我一定不能正确地做到这一点......除了保存 cookie 的部分之外,一切似乎都正常......提前致谢!
【问题讨论】:
-
$_Cookie与$_COOKIE不同 -
为什么在 2013 年你仍然使用
href="http://location2.domain.com" onlick="SetCookie?这被认为是一种不好的做法。 HTML 标记和它的事件处理程序应该完全解耦。 -
@metal_fan instead of passing judgement,如何解释为什么这是一个坏主意以及如何避免它/以不同的方式解决它?
-
@nhinkle 我相信我做到了。您听说过关注点分离 (SoC) 吗?我们永远不会将 javascript 事件处理程序与 HTML“标记”混合。为什么?再次:它也破坏了 SoC 和 SRP。不一样的方式?嗯,
$("#selector").click()这样的东西一定很明显......