表格中的CRUD Restler帖子

时间:2012-05-31 16:38:34

标签: php html forms api restler

*修正*** 结果我的浏览器被缓存了!它一直在努力。只有在我的代码更新后,才会在发布评论后更新结果,以便我可以在json响应中获取信息。

return $result->comment = array('video_id'=>"$video_id",'fb_id'=>"$fb_id",'comment'=>"$comment");

我在将表单中的值发布到restler时遇到问题。我不确定我做错了什么。

当我尝试发布表单时,我会收到回复:


    {
      "error": {
        "code": 404,
        "message": "Not Found"
      }
    }

以下是我的表单代码(comment.html):

<form action="http://mysite.com/api/index.php/comment" method="post">
    <label>fb_id</label>
    <input type="text" name="fb_id">

    <label>video_id</label>
    <input type="text" name="video_id">

    <label>comment</label>
    <input type="text" name="comment">

    <input type="submit" value="Post" name="submit">
</form>

以下是我班级的代码(comment.php):


    class Comment{
        static $FIELDS = array('video_id', 'fb_id','comment');
        public $restler;

        public function insert($rec){
            $video_id = mysql_escape_string($rec['video_id']);
            $fb_id= mysql_escape_string($rec['fb_id']);
            $comment = mysql_escape_string($rec['comment']);
            $sql = "INSERT INTO comments(video_id,fb_id,comment) VALUES('$video_id','$fb_id','$comment')";
            mysql_query($sql);
            return 'Record Inserted';
        }

        public function post($request_data=NULL){
            return $this->insert($this->_validate($request_data));
        }

        private function _validate($data){
              $comment=array();
              foreach (Comment::$FIELDS as $field) {
                  if(!isset($data[$field]))throw new RestException(417,"$field field missing");
                  $comment[$field]=$data[$field];
              }
              return $comment;
          }

    }

如果有人可以请求帮助,我的所有其他API调用都适用于GET。这是POST我遇到麻烦。

0 个答案:

没有答案