php动态页面
我不确定这里的标题是否合适,我的解释可能也一样糟糕,但这里是。。。我正在使用以下代码生成网页:php动态页面,php,url,dynamic,Php,Url,Dynamic,我不确定这里的标题是否合适,我的解释可能也一样糟糕,但这里是。。。我正在使用以下代码生成网页: 资料来源: 典型页面: www.website.com/dir/index.php?display=page4 我的问题是:我想在允许的页面数组中添加一个具有动态值的页面。您可以在上面的代码中看到我的尝试,我在代码中添加了:“page5&id=$id” 但是,当我转到本页时: www.website.com/dir/index.php?display=page5&id=2 我收到错误消息“找不到页
资料来源:
典型页面:
www.website.com/dir/index.php?display=page4
我的问题是:我想在允许的页面数组中添加一个具有动态值的页面。您可以在上面的代码中看到我的尝试,我在代码中添加了:“page5&id=$id”
但是,当我转到本页时:
www.website.com/dir/index.php?display=page5&id=2
我收到错误消息“找不到页面。返回索引”。
(数据库中确实存在值为2的表行id)。就像您将在
$\u GET['display']
中收到一个值一样,您将在$\u GET['id']
中收到另一个值为2
PHP将它们与查询字符串分开。当您在数组()中使用时,您将检查page5
是否在$displays
中,从代码中可以看出,它不是
我建议您使用var\u dump($\u GET)
然后查看生成的HTML的源代码,以查看GET参数是如何处理的。就像您将在$\u GET['display']
中收到一个值一样,您将在$\u GET['id']
中收到另一个值为2
PHP将它们与查询字符串分开。当您在数组()中使用时,您将检查page5
是否在$displays
中,从代码中可以看出,它不是
我建议您使用var\u dump($\u GET)
然后查看生成的HTML的源代码,以查看GET参数是如何处理的。这就是为什么在$\u GET[“display”]
中仅显示“page5”,而在$\u GET[“id”]
中显示2。您可以在page5.php中检查ID
例如,在第5页:
<? if (empty($_GET["id"]) || !is_numeric($_GET["id"])) { die("ID isn't a number!"); } ?>
这就是为什么在$\u GET[“display”]
中只显示“page5”,而在$\u GET[“id”]
中只显示“page2”。您可以在page5.php中检查ID
例如,在第5页:
<? if (empty($_GET["id"]) || !is_numeric($_GET["id"])) { die("ID isn't a number!"); } ?>
您最好分别处理显示和ID值。例如:
<?php
$display = $_GET['display'];
$displays = array('page1', 'page2', 'page3', 'page4', 'page5');
if (!empty($display)) {
if(in_array($display,$displays)) {
$display .= '.php';
include($display);
}
else {
echo 'Page not found. Return to
<a href="index.php">Index</a>';
}
}
else { //show html
?>
在display5.php中:
<?php
// some other initializations
$id = $_GET['id'];
if($id == 2) { // make some special actions for id = 2
// show more html
?>
您最好分别处理显示和ID值。例如:
<?php
$display = $_GET['display'];
$displays = array('page1', 'page2', 'page3', 'page4', 'page5');
if (!empty($display)) {
if(in_array($display,$displays)) {
$display .= '.php';
include($display);
}
else {
echo 'Page not found. Return to
<a href="index.php">Index</a>';
}
}
else { //show html
?>
在display5.php中:
<?php
// some other initializations
$id = $_GET['id'];
if($id == 2) { // make some special actions for id = 2
// show more html
?>
但是如果在url中没有传递id的值,我们如何使用$_GET['id']?另外,我使用值“2”作为一个任意示例来表示由用户导航确定的值。如果您的请求转到www.website.com/dir/index.php?display=page5&id=2
,正如您所写,两个可用的$GET变量将是$GET['display']
和$GET['id']
。因此,ID将在代码段中传递。其中包含的每个文件也可以访问$\u GET变量,因此display5.php
可以访问它。if($id==2){
只是我展示如何处理id的一个例子。你可以在这里做一些数据库选择语句,例如Ok,我理解。但是现在,无论出于什么原因,当我尝试你解释的内容时,它都不起作用,即使像示例中那样使用url,我甚至无法获得$id=$\u['id'];echo$id;Ack。有一个输入错误。它现在可以工作了。非常感谢您的帮助!但是如果在url中没有传递id的值,我们如何使用$_GET['id'];?还有值“2”我只是使用了一个任意示例来表示由用户导航确定的值。如果您的请求转到www.website.com/dir/index.php?display=page5&id=2
,正如您所写,两个可用的$\u GET变量将是$\u GET['display']
和$\u GET['id']
。因此ID将在代码段中传递。其中包含的每个文件也可以访问$\u GET变量,因此display5.php
可以访问它。如果($ID==2){
只是我展示如何处理ID的一个例子。你可以在这里做一些数据库选择语句,例如,好吧,我明白。但是现在,无论出于什么原因,当我尝试你解释的内容时,它都不起作用,即使像示例中那样使用url,我甚至不能$ID=$\u GET['ID'];echo$id;Ack。有一个输入错误。它现在可以工作了。非常感谢您的帮助!