首页 > 开发 > php > 正文

用php5.2写的程序在切换到5.3之后出现notice错误???

2017-09-06 14:25:15  来源:网友分享

以前一直用的是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