首页 >后端开发 >php教程 >又有问题出现了-。-

又有问题出现了-。-

WBOY
WBOY原创
2016-06-23 14:00:14808浏览

<?phprequire 'index.html';	//require 与 include 的区别在于前者出错,不再运行程序function test(){	if(isset ($_POST[c]) && isset ($_POST[d])){		$a=$_POST[c];		$b=$_POST[d];		}	if($a<$b){		return 1;		//return 返回函数值之后,终止函数脚本运行,不再运行余下语句		}	return -1;	}	$res=test();	if($res==1){		echo '$x<$y';		}	else{		echo '$x>$y';		}?>



话说,以上代码似乎没有什么错误吧-。-,这个错误提示具体是什么原因?还是PHP服务器设置的问题?期待高手,俺是新手

$_POST[c] 修改成 $_POST['c']之后,提示是这样的:

何解?


回复讨论(解决方案)

$_POST["c"]
$_POST["d"]

$_POST[ “c ”]都加引号

感谢帮助,我把$_POST[] 放到函数外面,就不再提示错误了。是不是这个原因呢?

除非你屏蔽掉 E_NOTICE 级别错误检查
否则
数组的关联键需要用引号括起 $_POST["c"]、$_POST["d"]
$a、$b 的赋值在条件分支内,如果不是表单提交则他们就不存在

正确的写法是

<?phprequire 'index.html'; function test() {  $a = $b = 0;  if(isset ($_POST['c']) && isset ($_POST['d'])){    $a=$_POST['c'];    $b=$_POST['d'];  }  if($a<$b){    return 1;  }  return -1;}$res=test();if($res==1){  echo '$x<$y';}else{  echo '$x>$y';}?>

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn