Php 设置$会话变量,但某些内容不可用';行不通
我相信这很简单,但我不知道怎么回事 我已经将html、php和js文件设置为可以一起工作,但是在设置自己的会话变量和跨文件检查它时遇到了问题 我已经确保HTML和PHP文件都包含include for my session.PHP文件(如果尚未设置,该文件只处理session_start) 总而言之,我的HTML文件有一个函数(userSelection又名fxn1)。此函数将值传递给另一个函数(showGameInfo又名fxn2),my.js文件处理fxn2。然后,fxn2将其发送到php文件,该文件将吐出要显示的信息。在我尝试定义自己的变量之前,一切都正常。我在html文件中的fxn1中这样做。然后,我尝试回显php文件中的$_SESSION['test']值。这是我添加到fxn1的行:Php 设置$会话变量,但某些内容不可用';行不通,php,html,session,variables,Php,Html,Session,Variables,我相信这很简单,但我不知道怎么回事 我已经将html、php和js文件设置为可以一起工作,但是在设置自己的会话变量和跨文件检查它时遇到了问题 我已经确保HTML和PHP文件都包含include for my session.PHP文件(如果尚未设置,该文件只处理session_start) 总而言之,我的HTML文件有一个函数(userSelection又名fxn1)。此函数将值传递给另一个函数(showGameInfo又名fxn2),my.js文件处理fxn2。然后,fxn2将其发送到php文
<?php $_SESSION['test'] = 1 ?>;
;
我是不是错过了一些很简单的东西?我的php文件显示会话已设置。请告诉我可能出了什么问题
FXN1在我的HTML文件中如下所示:
<script>
function userSelection(val) {
<?php $_SESSION['test'] = 1; ?>
showGameInfo(val);
}
</script>
函数用户选择(val){
showGameInfo(val);
}
如果我在html中去掉SESSION['test']行,php文件只会说变量test未定义,并显示其余部分
所以这告诉我HTML中的错误是怎么回事…但是为什么呢
Edit1:我已经在html和php文件中包含了session.php。session.php包含以下内容:
<?php
if (!isset($_SESSION))
session_start();
?>
这不对吗?它位于html的顶部。这也是它如何包含在php文件中的,我的php文件显示isset($\u SESSION)为true,因此我假设它是正确的。首先使用
session_start();
然后,只有您可以使用会话
<script>
function userSelection(val) {
<?php
session_start();//starts your session
$_SESSION['test'] = 1;//sets session variable ?>
showGameInfo(val);
}
</script>
函数用户选择(val){
showGameInfo(val);
}
有关更多信息,请参阅手册
“”FXN1在我的HTML文件中是这样的:“-定义它。就像在.HTML文件中一样?-Fred-ii-”
“@Fred ii-,是的,它在我的主.html文件中,定义是这样的。-Gredenko” 首先,您需要启动会话,对于
.html
文件,将其更改为.php
或指示系统将其视为php
PHP不解析默认为.html
的指令
您还应该检查会话数组是否设置了isset()
session\u start()
必须位于需要定义或调用会话变量的任何页面上,并且必须在定义或调用变量之前
从(增加强调)开始:
session_start()根据通过GET或POST请求传递的会话标识符或通过cookie传递的会话标识符创建会话或恢复当前会话
此外,如果希望在HTML文件中运行PHP,则需要将其添加到文件夹中的.htaccess文件中
AddType application/x-httpd-php .htm .html
“我错过了一些非常简单的东西吗?”可能是
session_start()代码>错误报告;总是你的朋友吗?你想在哪里使用会话?您只向我们展示了设置它的位置。“FXN1在我的HTML文件中是这样的:”-定义它。正如在.html
文件中一样?@Fred ii-,是的,它在我的主.html文件中,定义为so.session\u start()方法丢失。请检查我的编辑和关于session.php的部分,我已确保将其包含在php和html文件中。如何将php文件包含在html中?将其另存为main.php
好的,我认为这就是问题所在。我刚才读到,html不能正常工作,这一定是它崩溃的原因。我把它改成了一个.php文件,它成功了。但是如果我要包含任何php代码,我是否应该始终使用.php扩展名呢?还是有更“正确”的解决方案?谢谢弗雷德。@Gredenko,不客气。如果您想继续使用.html
作为扩展,您可以指示您的系统(如果它支持的话)将其视为php。这里有一些东西你可以看看