PHP会话不起作用

时间:2014-03-03 20:12:31

标签: php session

原始布局三个单独的页面,不会通过php会话。

的index.php

<?php
session_start();
error_reporting(E_ALL);
?>
<form action="session.php"  method="post">
Name:<input type="text" name="Name"><br>
<INPUT type="submit">
</form>

session.php文件

<?php
session_start();
error_reporting(E_ALL);
$name = $_POST['name'];
$_SESSION["name"] == "$name";
header("Location: http://test.com/test.php");
?>

test.php的

<?php
session_start();
error_reporting(E_ALL);
echo $name;
echo "<br><br>";
echo $_SESSION["name"];
?>

此示例不会显示变量或会话
所以我把它分解到页面并运行相同的测试。

testindex.php

<?php
session_start();
error_reporting(E_ALL);
?>
<form action="testindex.php"  method="post">
Name:<input type="text" name="name"><br>
<INPUT type="submit">
</form>

<?php
$name = $_POST['name'];
$_SESSION["name"] == "$name";
?>
<br><br>

<?php
echo $name;
?>
<br><br>

<?php
echo $_SESSION["name"];
?>

在此示例中,它将传递变量“name”,但会话仍然无效。

如果有人能告诉我两种代码中出现什么问题都会很棒。

我在使用会话的不同目录中有一个不同的页面。两个目录的权限相同。

我有,为了好玩,将代码加载到同一个工作目录中并得到相同的输出。

我真的在想是与代码相关但却看不到它。

谢谢

1 个答案:

答案 0 :(得分:2)

您使用的是错误的赋值运算符。 =是赋值运算符。 ==是一个比较运算符。所以:

$_SESSION["name"] == "$name";

应该是:

$_SESSION["name"] = "$name";

可以简化为(引号不是必需的):

$_SESSION["name"] = $name;