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扩展库来袭
28652 学习 · 194 问题
相似问题