为什么这个简单的PHP会话不起作用?

时间:2014-11-06 22:25:10

标签: php session

我的会话机制似乎坏了,所以我尝试使用这个非常短的代码。这里有什么问题?我错过了什么吗?

的index.php

<?php session_start();?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <?php
        echo '<form action="update.php?'.  session_id().'" method="POST"><fieldset><input type="text" value="hello"/><input type="submit" value="OK"/></fieldset></form>';
        print_r($_SESSION);
    ?>
</body>
</html>

update.php

<?php
    session_start();
    print_r($_POST);
    foreach($_POST as $key => $value)
        $_SESSION[$key]=$value;
    session_write_close();
    print_r($_SESSION);
?>

<a href="index.php?<?php echo session_id();?>">hello</a>

1 个答案:

答案 0 :(得分:0)

如果你的帖子不起作用,可能是因为你的输入没有名字:

<强>的index.php

<?php session_start();?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
        <form action="update.php" method="POST">
                <fieldset>
                    <input type="hidden" name="session_key" value="<?php echo session_id(); ?>" />
                    <input type="text" name="message" value="hello"/>
                    <input name="submit" type="submit" value="OK"/>
                </fieldset>
        </form>

        <?php  print_r($_SESSION); ?>
</body>
</html>

<强> update.php

    session_start();
    print_r($_POST);
    foreach($_POST as $key => $value)
        $_SESSION[$key] = $value;
    session_write_close();
    print_r($_SESSION);

<a href="index.php?id=<?php echo session_id();?>">hello</a>