PHP get方法始终为1?
为什么php get方法的值总是1?这是我的密码PHP get方法始终为1?,php,debugging,web,get,Php,Debugging,Web,Get,为什么php get方法的值总是1?这是我的密码 echo isset($_GET['page']); switch(isset($_GET['page'])){ case 'a': echo '1'; break; case 'b': echo 2''; break; case 'c': echo '3'; break; case
echo isset($_GET['page']);
switch(isset($_GET['page'])){
case 'a':
echo '1';
break;
case 'b':
echo 2'';
break;
case 'c':
echo '3';
break;
case 'd':
echo '';
break;
case 'e':
echo '4';
break;
default:
echo '5';
}
get方法的值始终为1,如第一行代码所示。
谢谢你的回答和帮助我建立一个网站
isset($_GET['page'])
isset
如果设置了$\u GET['page']
,则返回true或false。在本例中,php将true视为1
使用实际值:
echo $_GET['page'];
您可以检查其设置是否符合您的预期:
if(isset($_GET['page'])){
//Do stuff with $_GET['page']
}
您有一个输入错误:
switch(isset($_GET['page'])){
应该是
switch($_GET['page']){
as
isset($\u GET['page'])
如果设置了页面,则始终为真(解释为1)。请参见第一条语句中的1,即
echo isset($_GET['page']);
isset()将返回0或1,这就是为什么总是得到1
第二件事:开关箱中的一个错误:
switch(isset($_GET['page'])) // wrong because will pass only 0 or 1 in switch case
switch($_GET['page']) // Right will pass the URL page parameter value i.e .php?page=a here a will pass in switch statement
谢谢,伙计,但我必须等12分钟才能接受:这才是真正的答案,我会接受的it@tor没问题。很高兴提供帮助。很抱歉花了这么长时间才接受它,但现在它已被接受@JimYou需要查看isset的文档