我正在使用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>
会很理想!我想过使用一个表单,但似乎应该有一个更简单的方法。
答案 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