使用Web服务插入数据-cURL和PHP

时间:2019-01-10 14:40:09

标签: php html curl

我正在尝试建立一个将连接到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的回声。 没有数据插入数据库。

0 个答案:

没有答案