0

如果单击按钮,我想知道如何更改 PHP 变量。假设我有以下网页:

_______________________________________________
|   Menu    |         A Webpage                |
|           |                                  |
| - item1   |                                  |
| - item2   |                                  |
| - item3   |          Content                 |
| - item4   |                                  |
|           |                                  |
|           |                                  |

如果我点击“item1”,页面会随着与该按钮链接的用户相关的数据而变化。其他项目也是如此。

这是目前我的代码:

<script>
function test1()
{
alert("Hello World1!");
}
function test2()
{
alert("Hello World2!");
}
function test3()
{
alert("Hello World3!");
}
function test4()
{
alert("Hello World4!");
}


</script>


    <a id="test1" href="#" onClick="test1();"><h5>item1</h5></a><br /><br />
    <a id="test2" href="#" onClick="test2();"><h5>item2</h5></a><br /><br />
    <a id="test3" href="#" onClick="test3();"><h5>item3</h5></a><br /><br />
    <a id="test4" href="#" onClick="test4();"><h5>item4</h5></a><br /><br />

这足以让一个窗口出现或隐藏一个部门或其他东西。但我想要的是,如果单击按钮,我想更改 PHP 变量。像这样:

<script>
function test1()
{
<? $userid == '1'; ?>
}
</script>


    <a id="test1" href="#" onClick="test1();"><h5>item1</h5></a><br /><br />

有了这个,我可以轻松地将页面更改为用户想要查看的内容,而无需制作多个页面。但我的问题是:'我怎样才能让这成为可能'?

我要提前感谢大家!

4

4 回答 4

2

PHP 与 JavaScript 不是同一语言或语言类型。PHP 以线性方式运行,一旦处理完成,您将无法返回并再次调用函数或更新变量。PHP 从文件的顶部运行代码到文件的底部,当它到达底部时它结束。

最接近您正在寻找的解决方案是使用jQuery AJAX调用 PHP 脚本来更新变量。在我看来,您想使用 AJAX 来更改页面数据。您可以使用以下示例实现此目的。

$('#menu A').click(function (e) {
    var jqxhr = $.get('phpscript.php?data=' + $(this).attr('href'));

    jqxhr.success(function(data) {
        $('#content').html(data);
    });
});

上面的内容是,当您单击其中的链接<div id="menu" />时,将尝试从在同一目录中运行的名为 phpscript.php 的脚本中获取内容。这使用数据变量来确定要返回的页面数据。完成后,它会将您的脚本返回的 HTML 输出到#content 容器中,例如<div id="content">

我希望我正确理解了你的问题。还要记住,这需要一点验证,检查你得到 200 OK 并且实际上收到了数据等。

于 2013-06-26T08:30:36.013 回答
0

我不明白你为什么要更改 php 变量的值

因为这个变量在这个页面执行后就不存在了。你可以在哪里使用一些会话变量

此外,如果我们想设置一些值,我们必须使用赋值运算符 (=)

设置一个 php 变量,你可以使用 ajax 调用,在服务器中应该有一个页面来改变值

于 2013-06-26T09:04:38.337 回答
0

使用 Ajax,您可以通过这种方式将网页内容加载到某个内容中,例如示例中的 div,而无需重新加载整个页面。

阿贾克斯和 PHP

于 2013-06-26T08:23:02.420 回答
0

您需要使用 Ajax 请求来执行此操作。

于 2013-06-26T08:25:54.227 回答