Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP会话不存储值_Php - Fatal编程技术网

PHP会话不存储值

PHP会话不存储值,php,Php,第一页abc.html < form action="xyz.php" method="post" > < input type=text value="ABC" name="first" id="first" /> < /form> 输出为空,因为会话变量中没有存储任何内容。 您能帮我解决这个问题吗?您的大小写不正确,并且变量标识符在PHP中区分大小写: // Incorrect: $var1 = $_Request['first']; $_Session

第一页abc.html

< form action="xyz.php" method="post" >
< input type=text value="ABC" name="first" id="first" />
< /form>
输出为空,因为会话变量中没有存储任何内容。

您能帮我解决这个问题吗?

您的大小写不正确,并且变量标识符在PHP中区分大小写:

// Incorrect:
$var1 = $_Request['first'];
$_Session['myvar'] = $var1;
session_write_close();

// Should be:
$var1 = $_REQUEST['first'];
$_SESSION['myvar'] = $var1;
session_write_close();


// On lkj.php:
session_start();
echo $_SESSION['var1'];
另外,我强烈建议使用
$\u POST
,而不是使用
$\u REQUEST
。表单指定
method='post'

$var1 = $_POST['first'];
$_SESSION['myvar'] = $var1;

我发现您提供的代码存在一些问题

  • 您错误地引用了变量。在
    xyz.php
    上,您正在设置
    $\u会话['myvar']=$var1
    然后在
    ljk.php
    上尝试回显
    $\u会话['var1']
    ,该会话不存在,因为它尚未设置。您希望访问的变量是
    $\u SESSION['myvar']
    ,因为这是在
    xyz.php
    中设置的变量

  • 您希望利用
    $\u会话
    ,而不是
    $\u会话

  • 您使用的是
    $\u请求
    ,这是一个超全局性请求,可能会引起一些安全问题。虽然您的代码可能不会因其当前用途而受到影响,但最好避免使用它。而是利用
    $\u POST
    ,因为这只会获取已发布的数据


  • 您是否尝试过使用
    $\u会话
    而不是
    $\u会话
    ?PHP变量区分大小写
    // Incorrect:
    $var1 = $_Request['first'];
    $_Session['myvar'] = $var1;
    session_write_close();
    
    // Should be:
    $var1 = $_REQUEST['first'];
    $_SESSION['myvar'] = $var1;
    session_write_close();
    
    
    // On lkj.php:
    session_start();
    echo $_SESSION['var1'];
    
    $var1 = $_POST['first'];
    $_SESSION['myvar'] = $var1;