我正试图在苗条中发出post
请求,我的意图是将数据插入到mysql数据库中。这是我第一次尝试这样做,很抱歉,如果我不能很好地解释自己。
这就是我所拥有的:
<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
require 'vendor/autoload.php';
require "classes/Autoloader.php";
$app = new \Slim\App;
$app->post('/', function(Request $request, Response $response) use ($app) {
$postVars = $request->getParsedBody();
$id = $request->getAttribute('id');
$steps = $request->getAttribute('steps');
$date = $request->getAttribute('date');
echo $id . $steps . $date;
require_once "classes/Connection.php";
$userdata = new Insert($dbh, $id, $steps, $date);
$userdata->insert();
});
$app->run();
我的意图是获取值,并使用它们来插入数据,但我不断收到Slim的“找不到页面”错误。这是我正在尝试的网址:http://localhost/wp-api/?id=1&steps=12&date=8787
。
我做错了什么,或者这是正确的做法?
提前致谢!
编辑:按照Justal的回答,我在第10行更改了我的代码; $app->post('/'...
具体而言。我现在得到Method not allowed. Must be one of: POST
编辑2:我更改了第12行(getQueryParams
- &gt; getParsedBody
),并使用了Postman,否则broswer会执行get
请求(来源)以前的错误)。现在,它会将null
值插入数据库中。
答案 0 :(得分:0)
页面,因为您要求使用代码下方的post route.try。
所有数据都传入$ request对象。
$app->post('/', function(Request $request, Response $response) {
echo "<pre>";
print_r($request);
exit;
});