작은 애플리케이션을 만들기 위해 노력하고 있습니다. REST가 작동하지 않고 DELETE 메소드에 문제가 있습니다. 전에는 사용하지 않았으므로 어떻게 작동하는지 잘 모르겠습니다.PHP를 사용하는 REST API를 사용하여 HTTP 메소드를 삭제
어쨌든, 나는 기본을 걸기 위해서 this tutorial을 따라 갔다. 미리 만들어진 배열을 사용하는 대신에 그것을 수정하여 사용자는 데이터를 제출하고 MySQL 데이터베이스에서 볼 수 있습니다. 사용 방법을 결정하고, 그에 따라
input.php을 작용 "API"를 - -
server.php 입력 데이터로 사용하는 형태를 표시
I 3 개 파일이
viewinput.php - 입력 된 입력을 표시합니다.
이제는 항목을 삭제할 수 있도록 viewinput.php에 "삭제"버튼을 배치하려고합니다. 여기에 입력 된 정보를 표시하는 코드가 있습니다.
while ($result = mysql_fetch_array($sql)){
?>
<tr><td><? echo $result['id']." "; ?></td><td><? echo $result['text']; ?></td>
<form method = "delete" >
<td><input type="submit" name="delete" value="delete"></input></td></tr>
<input type="hidden" name = "hidden_delete" value="<? echo $result['id']; ?>"></input>
</form>
<?
}
지금, 내 server.php 파일합니다 (API)에서,이 방법을 결정하고 추가 처리를 위해 구성 요소로 URL을 파괴하는 호출되는 첫 번째 기능입니다. 내가 삭제 버튼을 누르면
public function serve() {
$uri = $_SERVER['REQUEST_URI'];
echo $method = $_SERVER['REQUEST_METHOD']; //GET and POST are displayed, DELETE isn't
$paths = explode('/', $this->paths($uri));
array_shift($paths); //
$resource = array_shift($paths);
, URL이 내가 이해에서
/rest/viewinput?delete=delete&hiddendelete=3 //assuming I deleted the 3rd entry
에
/rest/viewinput
에서 이동, URL이 있어야한다/휴식/viewinput/3시 DELETE 메소드가 제출되었습니다.
내 server.php 파일에서 메소드를 에코 할 때 "DELETE"는 POST와는 달리 표시되지 않습니다. 방법을 얻으십시오.
DELETE와 관련하여 this resource이 발견되었으며 URL을 통해 식별자가 전달되는 것으로 알고 있지만 GET 및 POST와 같은 방식으로 수신해야합니다. 즉, 메소드를 반향 출력 할 때 DELETE가 표시되어야합니다.
실행중인 서버 - 때로는 서버에서 DELETE http 동사를 허용해야합니다. – Fenton
html 4.0 스펙의 한계. 당신은'GET'과'POST' 이외의 다른 것을 사용할 수 없습니다. 이 답변을 참조하십시오 : http://stackoverflow.com/a/166501/1515540 – complex857
@Sohnee localhost에서 아파치를 사용하고 있습니다 – user1104854