PHP - 在文件夹之间传递会话

时间:2012-03-24 19:26:26

标签: php session

我有一个简单的脚本,使用php会话变量设置货币,但是只要它将用户返回到之前的目录,就不再设置会话..

(此脚本位于根文件夹/index.php中)

    <?php
if (isset($_POST[product_currency])) {
    $postCurrecy =  $_POST[product_currency];
    session_destroy();
    session_start();
    $_SESSION[currency] = $postCurrecy;
    echo $_SESSION[currency].' = '.$_POST[product_currency];
    echo "<meta http-equiv='refresh' content='1;URL=$_SERVER[HTTP_REFERER]'>";
    die();
}
?>

它返回的文件夹是/ products /,其中包含:

<?php if (empty($_SESSION[currency])) { echo 'uh oh'; } else { echo $_SESSION[currency]; } ?>Currencies:                    
<form id="select-form" action="/" method="post">
<select class="inputbox" name="product_currency" size="1"  >
<option value="EUR" >€ Euro</option>
<option value="USD" selected="selected">$ US Dollar</option>
<option value="GBP" >£ GBP</option>
</select>
    <input class="button" type="submit" name="submit" value="Change" />
</form>

$_SESSION[currency]返回'呃哦',因为它是空的:(

1 个答案:

答案 0 :(得分:0)

这个答案应归功于@Michael Berkowski

您需要在访问会话的所有脚本的顶部调用session_start()