0

我正在尝试通过一些锚标记更新会话变量以跟踪要显示的信息。我目前正在使用$_GET变量,但希望保持干净的地址栏,因为这是一个单页应用程序。我不知道如何更新会话变量并让它刷新页面并更新变量。

这是我能想到的唯一方法,但它没有像我预期的那样工作。

使用click.php抓取$_GET变量并将其应用于会话变量并重定向回文件的index.php文件。

索引.php

<a href="click.php?msv=PhotoCount" >Photo Count</a>

点击.php

if ( !empty($_GET['msv']) ) {
  $msv = $_GET['msv'];
  $_SESSION['meta'] = $msv;
  header('Location: /');
}

有什么想法吗?

4

2 回答 2

0

您应该在两者的开头显式启动 php 会话,index.php并且click.php像这样 .. 只有这样您的会话数据才会持续存在

<?php session_start(); ?>

如果您选择这样做,请考虑稍后使用此代码段删除会话数据

<?php session_destroy(); ?>
于 2013-06-11T15:23:41.640 回答
0

将此添加到 index.php 的顶部:

<?php
  if(isset($_GET['msv']) && !empty($_GET['msv'])){
    session_start();
    $_SESSION['msv'] = $_GET['msv'];
  }
?>

并给出指向同一页面的链接的目标位置。因此,不需要第二页。

如果您要同时使用这两个页面,请将链接的目标位置指定到第二个页面,并将此行添加到 if 语句的末尾。

header('Location: /index.php');
于 2013-06-11T15:24:40.410 回答