在PHP中设置会话变量
php有一个值为1的变量“flag”。单击时,会调用javascript函数“ajaxreq()”,并在下面显示文本“ClickMe”(来自page2.php的ajax请求) 单击出现的“click me”(单击我)按钮时,会调用“ajaxreq2(3)”,并显示文本消息“success”。单击显示的文本消息“success”(成功),div内容(id:displayLater)设置为display(显示),该内容一直隐藏到现在。此div必须在$flag变量中包含更新后的$u SESSION['tag']值。我如何更新它 在这段代码中,它给出了错误:“page1.php中未定义的索引'tag' 为了使用变量$_SESSION['tag'],我必须每次重新加载page1.php。否则,它将保持未初始化状态。 是否有可能在page1.php中使用更新的变量 page1.php在PHP中设置会话变量,php,javascript,jquery,html,ajax,Php,Javascript,Jquery,Html,Ajax,php有一个值为1的变量“flag”。单击时,会调用javascript函数“ajaxreq()”,并在下面显示文本“ClickMe”(来自page2.php的ajax请求) 单击出现的“click me”(单击我)按钮时,会调用“ajaxreq2(3)”,并显示文本消息“success”。单击显示的文本消息“success”(成功),div内容(id:displayLater)设置为display(显示),该内容一直隐藏到现在。此div必须在$flag变量中包含更新后的$u SESSION['
<?php
session_start();
$flag=1;
echo "<span onclick='ajaxreq()'>$flag</span>";
?>
<div id="page2contents"></div>
<div id="displayLater" style="display:none">
<span>This is done.</span>
<?php
if(isset($_SESSION['tag']))
$flag=$_SESSION['tag'];
?>
<span onclick="displayNow($flag)">$flag</span>
</div>
你呢
echo "<span onclick='displayNow('".$_SESSION['tag']."')'>success</span>";
将向POST方法发送变量。因此,您必须将page3.php中的行更改为:
$tag=$_POST['tagger'];
你的问题是什么?错误信息对您来说不清楚吗?我很清楚。我需要一个解决这个问题的方法。好吧,如果这个信息对你来说是清楚的,那么我会说,解决方法是显而易见的。因此,让我进一步问:是什么让您难以编写变通方法?在哪里遇到障碍?是page1.php中的会话变量$\u Session['tag']造成了问题。实际上,这个变量是在page3.php上初始化的,而我在page1.php上使用它。这就是为什么在加载page1.php时,错误提示$\u会话['tag']尚未初始化!你可以肯定事实确实如此。否则PHP不会给你这个错误。仔细检查会话是否已启动,并为请求分配了正确的会话名称和会话ID。这是正确的,但显然我发现我需要代码中的其他内容。我已经按照要求更新了代码。如果你再看一遍,我将不胜感激。对不起,我打错了那行。我已经改正了。但主要问题在于$\u会话['tag']的初始化。请帮忙。
function ajaxreq()
{
$("#page2contents").load("page2.php");
}
function ajaxreq2(x)
{
$("#page3contents").load("page3.php",{tagger:x});
}
function displayNow(abc)
{
abc=abc+2; //some operation on abc
$("#somethingToDisplay").show(); //displaying something else
}
echo "<span onclick='displayNow('".$_SESSION['tag']."')'>success</span>";
function displayNow(tag)
{
$("#displayLater span").html(tag);
}
$("#page3contents").load("page3.php",{tagger:x});
$tag=$_POST['tagger'];