即使已在php中启动会话,也无法使用会话变量

即使已在php中启动会话,也无法使用会话变量,php,session,Php,Session,我想将数据从一个php页面传输到另一个php页面,我使用会话来传输数据。我已在两个页面上使用session_start()启动会话 Page 1 : session_start(); $x=10; $_SESSION['val']=$x; Page 2 : session_start(); $value=$_SESSION['val']; 弹出的错误是未定义索引:val。请提供帮助,并解释为什么会发生

我想将数据从一个php页面传输到另一个php页面,我使用会话来传输数据。我已在两个页面上使用session_start()启动会话

    Page 1 : session_start();
             $x=10;
             $_SESSION['val']=$x;
    Page 2 : session_start();
             $value=$_SESSION['val'];
弹出的错误是未定义索引:val。请提供帮助,并解释为什么会发生这种情况,因为我需要传输数据。

请尝试isset()

PHP中的isset()函数确定变量是否已设置且不为NULL。它返回一个布尔值,即,如果变量被设置,它将返回true,如果变量值为null,它将返回false

<?php

session_start();
if(isset($_SESSION['val']))
{

 $value=$_SESSION['val'];
//other code
}

?>

试试isset()

PHP中的isset()函数确定变量是否已设置且不为NULL。它返回一个布尔值,即,如果变量被设置,它将返回true,如果变量值为null,它将返回false

<?php

session_start();
if(isset($_SESSION['val']))
{

 $value=$_SESSION['val'];
//other code
}

?>

session\u start()语句必须位于页面顶部(代码的第一行)

例如:

<?php session_start(); ?>

session\u start()语句必须位于页面顶部(代码的第一行)

例如:

<?php session_start(); ?>


好吧,这段代码应该可以正常工作。必须有其他内容。是否使用基于cookie的会话?否则,第二个页面的URL中可能缺少会话id参数。不过,这是一个猜测。您是在CLI中运行页面,还是通过web服务器运行页面?你是在同一个域上运行它们吗?嗯,这段代码应该可以正常工作。必须有其他内容。是否使用基于cookie的会话?否则,第二个页面的URL中可能缺少会话id参数。不过,这是一个猜测。您是在CLI中运行页面,还是通过web服务器运行页面?您是否在同一个域上运行它们?它肯定不必是第一行代码。它肯定不必是第一行代码。