Ymuyi
2016-09-19 14:49
这个是我捕捉到的,好像都是未定义的原因?
但是添加、删除等功能都能正常实现。
下面是我的代码:
<?php header('content-type:text/html;charset=utf-8'); //接收页面 $mysqli=new mysqli('localhost','root','','imooc'); if($mysqli->connect_errno){ die($mysqli->connect_error); } $mysqli->set_charset('utf8'); $username=$_POST['username']; $username=$mysqli->escape_string($username);//转移特殊字符,比如单引号 $password=md5($_POST['password']); $age=$_POST['age']; $act=$_GET['act']; $id=$_GET['id']; //根据不同操作完成不同功能 switch ($act) { case 'addUser': //echo '添加用户的操作'; $sql="INSERT mysqli(username,password,age) VALUES('{$username}','{$password}','{$age}')"; $result=$mysqli->query($sql); if($result){ $insert_id=$mysqli->insert_id; echo "<script> alert('添加成功,网站的第{$insert_id}位用户'); location.href='userList.php'; </script>"; exit; }else{ echo "<script> alert('添加失败,重新添加'); location.href='addUser.php'; </script>"; exit; } break; case 'delUser': //echo "删除用户".$id; $sql="DELETE FROM mysqli WHERE id=".$id; $result=$mysqli->query($sql); if($result){ $mes="删除成功"; }else{ $mes="删除失败"; } $url='userList.php'; echo "<script> alert('{$mes}'); location.href='{$url}'; </script>"; exit; break; case 'editUser': $sql="UPDATE mysqli SET username='{$username}',password='{$password}',age='{$age}' WHERE id=".$id; $result=$mysqli->query($sql); if($result){ $mes="更新成功"; }else{ $mes="更新失败"; } $url='userList.php'; echo "<script> alert('{$mes}'); location.href='{$url}'; </script>"; exit; break; default: # code... break; } ?>
你这增加、删除、修改都在一个页面,而代码是从上往下执行的,删除时这些参数通过post获取不到值,所以未定义,只是个提示,不没有报错。代码继续向下执行。
在赋值前加@
Duang~MySQLi扩展库来袭
28647 学习 · 192 问题
相似问题