0

Page1.php 有一个 value=1 的变量“flag”。单击时,将调用 javascript 函数“ajaxreq()”,并在下方显示文本“Click me”(来自 page2.php 的 ajax 请求)。

当点击出现的“click me”时,它会调用“ajaxreq2(3)”,并显示文本消息“success”。单击显示的文本消息“成功”时,将 div 内容(id : displayLater)设置为显示,一直隐藏到现在。这个 div 必须在 $flag 变量中包含 $_SESSION['tag'] 的更新值。我该如何更新它?

在这段代码中,它给出了错误:“page1.php 中未定义的索引‘标签’”。

为了使用变量 $_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>

page2.php

<?php
echo "<div onclick='ajaxreq2(3)'>Click me</div>";
?>
<div id="page3contents.php"></div>

page3.php

<?php
session_start();
$tag=$_POST['tagger'];
$_SESSION['tag']=$tag;
echo "<span onclick='displayNow($tag)'>success</span>";
?>

JAVASCRIPT函数如下:

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
}
4

2 回答 2

0

你呢

echo "<span onclick='displayNow('".$_SESSION['tag']."')'>success</span>";

进而

function displayNow(tag)
{
  $("#displayLater span").html(tag);
}
于 2013-08-22T22:35:02.047 回答
0
$("#page3contents").load("page3.php",{tagger:x});

将变量发送到 POST 方法。因此,您必须将 page3.php 中的行更改为:

$tag=$_POST['tagger'];
于 2013-08-22T22:37:13.010 回答