我正在尝试建立一个将连接到Web服务并将数据添加到数据库的网页。
对于cURL和Web Services来说,我是我的新手,因为我想在html中添加表单,因此该表单已连接到包含cURL的php脚本,然后将cURL连接至Web服务,更新数据。 Stil不确定这是否是Web服务背后的逻辑。
问题在于,鄙视获得200 OK的http代码不会将任何数据插入数据库。
索引表:
<form method="post" action="addPoiCurl.php">
<input type="text" name="addPoiName" placeholder="Name" />
<br />
<input type="text" name="addPoiCountry" placeholder="Country" />
<br />
<input type="text" name="addPoiRegion" placeholder="region" />
<br />
Choose the type of POI<br />
<select name="addPoiType">
<option value="empty">...</option>
<option value="city">City</option>
<option value="hill">Hill</option>
<option value="industrial estate">Industrial Estate</option>
<option value="lost city">Lost City</option>
<option value="moor">Moor</option>
<option value="mountian">Mountain</option>
<option value="point">Point</option>
<option value="port">Port</option>
<option value="pub">Pub</option>
<option value="restaurant">Restaurant</option>
<option value="town">Town</option>
</select>
<br />
<input type="text" name="addPoiDescription" placeholder="Description"
style="width:200px; height:100px" />
<br />
<input type="submit" value="Submit!" />
cURL PHP:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
$aPoiName = $_POST["addPoiName"];
$aPoiCountry = $_POST["addPoiCountry"];
$aPoiRegion = $_POST["addPoiRegion"];
$aPoiType = $_POST["addPoiType"];
$aPoiDescription = $_POST["addPoiDescription"];
// Curl -----------------
// Initialize
$connection = curl_init();
//URL to sned the request to
curl_setopt($connection, CURLOPT_URL, 'https://addPoiWebService.php');
$dataToPost=
[ "Name" => $aPoiName ,
"Country" => $aPoiCountry ,
"Region" => $aPoiRegion ,
"Type" => $aPoiType ,
"Description" => $aPoiDescription
];
//Execute the request
curl_setopt($connection,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($connection,CURLOPT_POSTFIELDS,$dataToPost);
$response = curl_exec($connection);
//HTTP CODE
$httpCode = curl_getinfo($connection, CURLINFO_HTTP_CODE);
echo "The script returned the HTTP status code: $httpCode <br />";
//close
curl_close($connection);
?>
(请注意,我只是为此帖子更改了连接中的链接)
关于Web服务php的:
$aPoiName = $_POST["Name"];
$aPoiCountry = $_POST["Country"];
$aPoiRegion = $_POST["Region"];
$aPoiType = $_POST["Type"];
$aPoiDescription = $_POST["Description"];
if($aPoiName !="" && $aPoiCountry !="" && $aPoiRegion !="" && $aPoiType
!="empty" && $aPoiDescription !=""){
header("Content-type: application/json");
$results = $conn->query("INSERT INTO pointsofinterest (name, country,
region, type, description) VALUES ('$aPoiName', '$aPoiCountry',
'$aPoiRegion', '$aPoiType', '$aPoiDescription')");
}
else{
echo "Missing Information";
}
(为此帖子也故意删除了与数据库的连接)
我得到的结果只是http代码检查得到的200的回声。 没有数据插入数据库。