又有问题出现了-。-
本帖最后由 u014270083 于 2014-03-23 00:17:51 编辑
<?php<br />require 'index.html'; //require 与 include 的区别在于前者出错,不再运行程序<br />function test(){<br /> if(isset ($_POST[c]) && isset ($_POST[d])){<br /> $a=$_POST[c];<br /> $b=$_POST[d];<br /> }<br /> if($a<$b){<br /> return 1; //return 返回函数值之后,终止函数脚本运行,不再运行余下语句<br /> }<br /> return -1;<br /> }<br /> $res=test();<br /> if($res==1){<br /> echo '$x<$y';<br /> }<br /> else{<br /> echo '$x>$y';<br /> }<br />?>
Copy after login
话说,以上代码似乎没有什么错误吧-。-,这个错误提示具体是什么原因?还是PHP服务器设置的问题?期待高手,俺是新手
$_POST[c] 修改成 $_POST['c']之后,提示是这样的:
何解?
------解决方案--------------------$_POST["c"]
$_POST["d"]
------解决方案--------------------$_POST[
“c
”]都加引号
------解决方案--------------------除非你屏蔽掉 E_NOTICE 级别错误检查
否则
数组的关联键需要用引号括起 $_POST["c"]、$_POST["d"]
$a、$b 的赋值在条件分支内,如果不是表单提交则他们就不存在
------解决方案--------------------正确的写法是
<?php<br />require 'index.html'; <br />function test() {<br /> $a = $b = 0;<br /> if(isset ($_POST['c']) && isset ($_POST['d'])){<br /> $a=$_POST['c'];<br /> $b=$_POST['d'];<br /> }<br /> if($a<$b){<br /> return 1;<br /> }<br /> return -1;<br />}<br />$res=test();<br />if($res==1){<br /> echo '$x<$y';<br />}else{<br /> echo '$x>$y';<br />}<br />?>
Copy after login