Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.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_Javascript_Jquery_Html_Ajax - Fatal编程技术网

在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有一个值为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
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'];