2013-06-11 82 views
0

我試圖通過一些錨標記來更新會話變量,以跟蹤要顯示的信息。我目前正在使用$_GET變量,但希望保留一個乾淨的地址欄,因爲這是一個單頁面應用程序。我無法弄清楚的是如何更新會話變量並讓它刷新頁面並更新變量。

這是我能想到做到這一點的唯一方式,但它並不像我預期的那樣工作。

使用抓取$_GET變量的click.php文件並將其應用於會話變量並重定向回index.php文件。

的index.php

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

click.php

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

有什麼想法?

+0

您是否在該頁面上使用了['session_start()'](http://php.net/manual/en/function.session-start.php)?如果沒有,請將它放在'<?php'後面的'click.php'文件中。 – Joe

+0

*在'session_start();';-)上同上* –

回答

0

您應當同時index.phpclick.php年初明確啓動PHP會話,這樣的..只有你的會話數據將持續

<?php session_start(); ?> 

如果你選擇這樣做,以後再考慮刪除會話數據使用這個片段

<?php session_destroy(); ?> 
0

一下添加到index.php文件的頂部:

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

並將鏈接的目標位置提供給同一頁面。所以,不需要第二頁。

如果要使用這兩個頁面,請將鏈接的目標位置提供給第二個頁面,並在if語句的末尾添加此行。

header('Location: /index.php');