以前一直用的是php5.2,但是最近发现版本略低,就切换成了php5.3(我用的是phpstudy组合包),但是在切换后,以前用php5.2写的程序就会出现notice提示,虽然不影响运行出正确结果。
图片描述
我以后应该用那种版本的php??我还是喜欢用组合包之类的
这是报错页面的代码:
<?phpif(!empty($_POST)){ $tt= $_POST['tt']; $id= $_POST['id']; $pwd= $_POST['pwd']; $wb= $_POST['wb']; $car= $_POST['car']; $yx= $_POST['yx'];} echo "<br/>"; // echo "<br/>编程语言:$t33"; // print_r($t); echo "编程语言:"; // 方法1:遍历数组,到那时最后的逗号无法避免 // foreach ($t as $key => $value) { // echo $value . ","; // } // 方法2:使用for循环 $len=count($tt);//获得数组的长度 $str=""; for ($i=0; $i<$len ; $i++) { if ($i==$len-1) { // $str.=$tt[$i] . "。"; $str=$str . $tt[$i] ."。。"; } else{ $str.=$tt[$i] .","; } } echo $str; echo "<br/>账号:$id"; echo "<br/>密码:$pwd"; echo "<br/>介绍:$wb"; echo "<br/>汽车:$car"; echo "<br/>院系:$yx";?><form action="" method="POST" name="bb"><table border='1'><h2 align="center" class="bd">form表单练习</h2><p id="lan">你喜欢那种<font>语言</font>?</p><input type="checkbox" name="tt[]" value="python" /> python<input type="checkbox" name="tt[]" value="javascript" /> javascript<input type="checkbox" name="tt[]" value="php" checked="checked" />php<input type="checkbox" name="tt[]" value="swift"/> swift<hr/><p>login in</p>Account:<input type="text" name="id" value="" />Password:<input type="password" name="pwd" value="" /><br/><input type="submit" name="sub" value="login" /><input type="reset" name="re" value="cancel" /></table></form>![图片描述][1]我感觉不是代码的问题,还是因为php版本切换导致的,你说呢???
解决方案
这跟php版本没太大关系,而是你应该养成一个良好的编程习惯,不确定是否有值时要判断有才输出.
否则未关闭错误提示直接路径全部爆出来了
你应该改成:
if(isset($user['yx'])){ echo $user['yx'];}//或者if(!empty($user['yx'])){ echo $user['yx'];}
另外建议直接使用最新的稳定版本,截止到[2016/04/30]的LTS版本:5.6.21