【问题标题】:How to update session value on the same page如何在同一页面上更新会话值
【发布时间】:2013-08-05 09:26:56
【问题描述】:

我正在尝试做一些与分页相关的事情,我有一个大约 400-500 个值的数组。 我想一次显示 9 个值,然后单击 NEXT 按钮后,我想再显示下一个 9..

这是我用来调用 JS 函数 onclick of button 的代码部分,该函数的工作是从浏览器获取计数并将其设置为下一个值。

<?php
session_start();
$_SESSION['count']=9;

echo "<script type='text/javascript'>
function changelistnext()
{ ";
    $c=$_SESSION['count'];
    $c=$c+1;
    $e=$c+9;
    $_SESSION['count']=$e;    
echo "
alert($c)
alert($e)
}
</script>";
 ?>  
<button id='next' value='next' onclick='changelistnext()'>Next</button>

但每次我点击下一个时,它都会显示相同的值....

【问题讨论】:

  • 它不会以这种方式工作,因为您要使用 javascript 更改 php 变量的值,这实际上是不可能的。最好使用 AJAX 更改 $c 和 $e 的值并在您的 javascript 函数中使用它们。如果您在 AJAX 方面需要任何帮助,请告诉我。

标签: php javascript


【解决方案1】:

不能混合使用 JavaScript 和 PHP,就好像它们是一回事。

JavaScript 是一种客户端语言,在您的浏览器中执行。

另一方面,PHP 是一个服务器脚本会话也保存在服务器上。


如果您在浏览器中打开页面的源代码,您将看到会话内容不存在 - 它是在生成页面时由 PHP 执行的。不能在 JS 中直接使用会话。

该页面基本上包含以下内容:

<script type='text/javascript'>
function changelistnext()
{
    alert(some number) // value of C when the page was generated on server
    alert(some number) // ditto for E
}
</script>

您可以使用 Ajax 调用请求服务器上的某些脚本为您提供下一个“页面”的数据 - PHP 脚本可以访问 Session 变量并将您想要的内容发送回浏览器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多