从<a href=""> link</a>更改PHP变量

时间:2012-07-03 21:05:43

标签: php html

我正在使用div制作网站。我在顶部有一行链接,我想改变主窗口中的内容。我更愿意严格遵守PHP和HTML并使用整页刷新,因为我对它们感到满意,而不是使用Ajax刷新,因为我对Ajax没有任何了解。

我不想使用iframe。我认为最好的方法是:

<div id="top">
<a href="news.html">News</a>
</div>
<div id="main">
<?php include($page); ?>
</div>

我需要的是一种在点击链接时更改$page变量的方法。 如果这意味着更改变量然后重新加载页面,那就这样吧。

遵循以下逻辑的命令:

<a href="news.html" action="<?php $page="news.html"; ?>">News</a>

会很理想!我想过使用一个表单,但似乎应该有一个更简单的方法。

4 个答案:

答案 0 :(得分:2)

您本身无法更改变量。重新加载页面意味着从头开始运行PHP程序。你只需要提供不同的输入。从常规链接,只能通过URL。

<a href="foo.php?something=a_value">

查询字符串中的数据可通过$_GET

访问
echo htmlspecialchars($_GET['something']);

答案 1 :(得分:1)

您可以在同一页面上使用GET请求

<a href="news.html?page=news.html">News</a>

这将导致点击页面刷新,页面变量的值传递给php,并可通过

访问
$page = $_GET['page'] //at this point, $page will be "news.html"

答案 2 :(得分:1)

如果我理解正确,要在运行中更改包含,正如您所说,您需要使用AJAX,否则您需要完全刷新。

使用普通链接将数据发送回服务器。

<a href="page.php?page=newpage.html">link</a>

然后你可以使用PHP的$ _GET变量,这是一个解析URL页面参数的数组。

示例:

$page = $_GET['page']
include $page;

如果您使用jQuery,或想尝试简单的AJAX方法,则可以搜索jQuery.load()

答案 3 :(得分:0)

您也可以使用

    $page = $_SERVER['PHP_SELF'];

在PHP脚本的顶部。如果您的页面是“somepage.php”,则上面会输出

    /somepage.php

作为$ page的值。

要删除斜杠和.php,只需使用substr:

    $page = substr($_SERVER['PHP_SELF'],1,-4);

会留下$ page = somepage