为了账号安全,请及时绑定邮箱和手机立即绑定

为什么代码跟老师一样的,但就是参数错误,求各位大神解答,真心感谢!!

为什么代码跟老师一样的,但就是参数错误,求各位大神解答,真心感谢!!代码如下:

<?php

//设置页面内容是HTML编码格式是utf-8

header ("Content-Type:text/plain;charset=utf-8");

//header ("Content-Type:application/json;charset=utf-8");

//header ("Content-Type:text/xml;charset=utf-8");

//header ("Content-Type:text/html;charset=utf-8");

//header ("Content-Type:application/javascript;charset=utf-8");


//定义一个多维数组,包含员工的信息,每条员工信息为一个数组

$staff=array

(

array("name"=>"红旗","number"=>"101","sex"=>"男","job"=>"总经理"),

array("name"=>"郭靖","number"=>"102","sex"=>"男","job"=>"技术部"),

array("name"=>"黄蓉","number"=>"103","sex"=>"女","job"=>"销售部"),

);

//判断如果是get请求,则进行搜索;如果是post请求,则进行新建

//$_SERVER是一个超全局变量,在一个脚本的全部作用域中都可用,不用使用global关键字

//$_SERVER["REQUEST_METHOD"]返回访问页面使用的请求方法


if($_SERVER["REQUEST_METHOD"]=="GET"){

search();

}elseif($_SERVER["REQUEST_METHOD"]=="POST"){

create();

}


function search(){

//检查是否有员工编号的参数

//isset检测变量是否设置;empty判断值是否为空

//超全局变量$_GET和$_post用于手机表单数据

if(!isset($_GET["number"])||empty($_GET["number"])){

echo"参数错误";

return;

}

global $staff;

//获取number参数

$number=$_GET["number"];

$result="没有找到员工";

//遍历$staff多维数组,查找key值为number的员工是否存在,如果存在,则修改返回 结果

foreach($staff as $value){

if($value["number"]==$number){

$result="找到员工:编号:".$value["number"].",姓名:".$value["name"].

",性别:".$value["sex"].",职位:".$value["job"];

break;

}

}

echo $result;

}

//创建员工

function create(){

//判断信息是否填写完全

if(!isset($_POST["name"])||empty($_POST["name"])

||!isset($_POST["number"])||empty($_POST["number"])

||!isset($_POST["sex"])||empty($_POST["sex"])

||!isset($_POST["job"])||empty($_POST["job"])){

echo"参数错误,员工信息填写不全";

return;

}

//TODO:获取post表单数据并保存到数据库

//提示保存成功

echo"员工:".$_POST["name"]."信息保存成功";

}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>demo</title>

</head>


<style>

body,input,button,select,h1{

font-size:24px;

line-height:1.8;}

</style>


<body>

<h1>员工查询</h1>

<label>请输入员工编号</label>

<input type="text" id="keyword"/>

<button id="search">查询</button>

<p id="searchResult"></p>


<h1>员工创建</h1>

<label>请输入员工姓名</label>

<input type="text" id="staffName"/><br />

<label>请输入员工编号</label>

<input type="text" id="staffNumber"/><br />

<label>请输入员工性别</label>

<select id="staffSex">

<option>男</option>

<option>女</option>

</select><br />

<label>请输入员工职位</label>

<input type="text" id="staffJob"/><br />

<button id="save">保存</button>

<p id="createResult"></p>


<script>

document.getElementById("search").onclick = function(){

//发送ajax查询请求并处理

var request = new XMLHttpRequest();

request.open("GET","serve.php?number=" +document.getElementById("keyword").value);

request.send();

request.onreadystatechange = function(){

if(request.readyState===4){

if(request.status === 200){

document.getElementById("searchResult").innerHTML = request.responseText;

}else{

alert("发生错误:"+request.status);

}

}

}

}


document.getElementById("save").onclick = function(){

//发送ajax查询请求并处理

var request = new XMLHttpRequest();

request.open("POST","serve.php");

var data ="name=" +document.getElementById("staffName").value

  +"&number=" +document.getElementById("staffNumber").value

  +"$sex=" +document.getElementById("staffSex").value

  +"$job=" +document.getElementById("staffJob").value;

request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

request.send(data);

request.onreadystatechange = function(){

if(request.readyState===4){

if(request.status === 200){

document.getElementById("createResult").innerHTML = request.responseText;

}else{

alert("发送错误:"+request.status);

}

}

}

}

</script>

</body>

</html>


正在回答

2 回答

老师这个例子取select的值是错的,所以会发生报错。

0 回复 有任何疑惑可以回复我~

同学,你的

+"&number=" +document.getElementById("staffNumber").value

+"$sex=" +document.getElementById("staffSex").value

  +"$job=" +document.getElementById("staffJob").value;

中下划线中的符号错了,应该是&,教你一个查错的技巧,就是http://img1.sycdn.imooc.com/59df6e5300013ea506350300.jpg

在Network中查看你上传的数据是否正确

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Ajax全接触
  • 参与学习       224739    人
  • 解答问题       708    个

本课程通过一个案例,讲解Ajax的相关概念原理实现方式和应用

进入课程

为什么代码跟老师一样的,但就是参数错误,求各位大神解答,真心感谢!!

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号