为什么isset($_GET['a'])可以用,isset($_POST['a'])就不可用呢。

努力的老孙 2010-09-06 02:30:50
如题,判断为空时,如果是GET方式,用ISSET可以;
但如果是POST,只能用 if ($_POST['a']=="")
请问这是为什么呢,
...全文
681 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
努力的老孙 2010-09-06
  • 打赏
  • 举报
回复
我实际的代码
$jscode=$_POST['jscode']==""?0:$_POST['jscode'];

这是可以的。

下面这一条是原来的就不起作用


$jscode=!(isset($_POST['jscode']))?0:$_POST['jscode'];
kyzy_yy_pm 2010-09-06
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 vipstar 的回复:]
不好意思,可能是我刚才有点瞌睡 没表达清楚



刚开始表单是用GET方式提交的,我检测是否为空的时候,程序处理页面用的if(!(isset($_GET['a'])))

后来我只是把表单提交方式改为了post ,其他的例如input的名a是没有变的,
程序处理页面把if(!(isset($_GET['a'])))改为了if(!(isset($_POST['a'])))
但这样如……
[/Quote]
连if($_POST['a']=="")都可以,那么if(!(isset($_POST['a'])))应该更加可以了
努力的老孙 2010-09-06
  • 打赏
  • 举报
回复
谢谢6楼7楼,小弟是新手, 以后这种情况知道不再用isset了。。。
努力的老孙 2010-09-06
  • 打赏
  • 举报
回复
不好意思,可能是我刚才有点瞌睡 没表达清楚



刚开始表单是用GET方式提交的,我检测是否为空的时候,程序处理页面用的if(!(isset($_GET['a'])))

后来我只是把表单提交方式改为了post ,其他的例如input的名a是没有变的,
程序处理页面把if(!(isset($_GET['a'])))改为了if(!(isset($_POST['a'])))
但这样如果提交过来的a的值为空,他判断不出来,要用 if($_POST['a']=="")才可以


希望这次表达清楚了,我只是想知道为什么用 if(!(isset($_POST['a']))) 不起作用
happy664618843 2010-09-06
  • 打赏
  • 举报
回复
isset()检查变量是否设置 empty表示该变量是否为空
PIGer920 2010-09-06
  • 打赏
  • 举报
回复
用isset($_POST['a'])来判断post提交中的a有没有值?
那当然不行!
<input type=text name=a id=a >
这样post的话,$_POST['a']显然是存在的 只不过是空而已
isset并不是用来判断变量中有没有值的 只是用来判断变量存不存在
kyzy_yy_pm 2010-09-06
  • 打赏
  • 举报
回复
楼主说的是isset($_GET)还是isset($_GET['a'])啊
kyzy_yy_pm 2010-09-06
  • 打赏
  • 举报
回复
楼主说的是isset($_GET)还是isset($_GET[''])啊
heyli 2010-09-06
  • 打赏
  • 举报
回复
isset -- 检测变量是否设置

bool empty ( mixed var )
如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。


<?php
$var = 0;

// 结果为 true,因为 $var 为空
if (empty($var)) {
echo '$var is either 0 or not set at all';
}

// 结果为 false,因为 $var 已设置
if (!isset($var)) {
echo '$var is not set at all';
}
?>

是否设置跟为空不是相同的
CunningBoy 2010-09-06
  • 打赏
  • 举报
回复
isset($_POST['a'])这个判断是可以的。
你要确定你提交的表单中没有'a'这一项,那么这个判断就是false,否则即使'a'这项在表单中没有输出值,isset($_POST['a'])也是true。
neverfailor 2010-09-06
  • 打赏
  • 举报
回复
表单是用什么方式传送数据的?GET还是POST?

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧