【发布时间】:2018-08-02 03:18:57
【问题描述】:
在我的 header.php 文件中,我有一个“选择城市”按钮,单击该按钮会显示城市列表。当我点击城市时,我希望根据所选城市更改地址和电话号码等联系信息。因此,如果用户转到另一个页面,更新的信息会保留。我以为我需要使用 PHP 会话,所以我从这个开始:
JS:
$("#cities-list li").click(function(){
var city = $(this).text();
$.post("/city.php", {"city": city});
console.log(city);
});
HTML:
<ul id="cities-list">
<li id="nyc">NY</li>
<li id="la">LA</li>
</ul>
PHP (city.php):
<?php
session_start();
$_SESSION['city'] = $_POST['city'];
echo $_SESSION['city'];
?>
点击一个城市后,我通过刷新来查看city.php页面,但是页面是空的。这是我选择的错误方法吗?什么是正确的?我怎样才能实现我想做的事情?
【问题讨论】:
-
你的
console.log()输出什么? -
City.php 仅在您从帖子中访问时才会返回城市名称。当您通过网络浏览器访问它时,它将显示为空白,因为设置 $_POST 变量的唯一时间是您执行发布操作时。试试看:点击链接时检查您的网络活动。在 chrome 中:检查 > 网络。然后点击链接,看看输出是什么。
-
@BojanSrbinoski 我点击的城市名称。
-
您也可以使用 cookie 而不是 PHP 会话,这将允许它在关闭浏览器时持续存在