PHP get参数拉入错误的值
我试图拉入URL的参数,并使用它来确定页面上显示哪些信息,但由于某些原因,这些信息被读取错误。我要做的第一件事是检查下面的参数并将其分配给$pagePHP get参数拉入错误的值,php,isset,Php,Isset,我试图拉入URL的参数,并使用它来确定页面上显示哪些信息,但由于某些原因,这些信息被读取错误。我要做的第一件事是检查下面的参数并将其分配给$page <?php if(isset($_GET["page"])) { $page=$_GET["page"]; } ?> 这是错误的: if(isset($page) == '2') { 应该是 if( $page == '2') { 这似乎只适用于1,因为isset($page)返回true,truthy将其转换为1。i
<?php
if(isset($_GET["page"])) {
$page=$_GET["page"];
}
?>
这是错误的:
if(isset($page) == '2') {
应该是
if( $page == '2') {
这似乎只适用于1
,因为isset($page)
返回true
,truthy将其转换为1
。isset()
函数仅用于检查变量是否已设置
if($page == '3')
为什么isset()
?当您分配它时,您已经这样做了。也许这也是:
if(isset($_GET["page"])) {
$page = $_GET["page"];
} else {
$page = '0'; // or something
}
php
isset
函数返回Boolean
。
您应该将代码更改为:
<?php
if(isset($page) && $page== '2') {
?>
DISPLAY INFO A
ECHO $PAGE RETURNS 2
<?php } elseif(isset($page) && $page== '3') { ?>
DISPLAY INFO B
ECHO $PAGE RETURNS 3
<?php } else { something here } ?>
显示信息A
ECHO$PAGE返回2
显示信息B
ECHO$PAGE返回3
isset()
返回TRUE/FALSE,但您正在将其与普通整数进行比较。mysql中的布尔值TRUE
相当于整数1
,但会导致其余测试失败。您需要:
if (isset($_GET['page'])) {
if ($_GET['page'] == 1) { ... 1 stuff }
else if ($_GET['page'] == 2) { ... 2 stuff }
}
<?php
if(isset($page) && $page== '2') {
?>
DISPLAY INFO A
ECHO $PAGE RETURNS 2
<?php } elseif(isset($page) && $page== '3') { ?>
DISPLAY INFO B
ECHO $PAGE RETURNS 3
<?php } else { something here } ?>
if (isset($_GET['page'])) {
if ($_GET['page'] == 1) { ... 1 stuff }
else if ($_GET['page'] == 2) { ... 2 stuff }
}