為什么代碼跟老師一樣的,但就是參數錯誤,求各位大神解答,真心感謝??!
為什么代碼跟老師一樣的,但就是參數錯誤,求各位大神解答,真心感謝!!代碼如下:
<?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>
2018-08-03
老師這個例子取select的值是錯的,所以會發生報錯。
2017-10-12
同學,你的
+"&number=" +document.getElementById("staffNumber").value
+"$sex=" +document.getElementById("staffSex").value
? +"$job=" +document.getElementById("staffJob").value;
中下劃線中的符號錯了,應該是&,教你一個查錯的技巧,就是
在Network中查看你上傳的數據是否正確