获得超薄的帖子请求值

时间:2015-12-03 13:46:44

标签: php slim

此代码;

$email = $app->request('custom1');
print_r($email);
exit;

会给予;

Slim_Http_Request Object
(
[method:protected] => POST
[headers:protected] => Array
    (
        [host] => 192.168.56.101
        [connection] => keep-alive
        [content-length] => 26
        [cache-control] => no-cache
        [origin] => chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop
        [content-type] => x-www-form-urlencoded
        [user-agent] => Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36
        [postman-token] => 046f7635-49fe-5fa9-64f9-934f01b97c05
        [accept] => */*
        [accept-encoding] => gzip, deflate
        [accept-language] => en-US,en;q=0.8
        [cookie] => PHPSESSID=4effe7cedc113d0c371c64031cb2f22f; 4effe7cedc113d0c371c64031cb2f22f=DEFAULT%7C0%7C2M3TMlgUx3gTlaarYzHIdD28l8q9FTcNubt55%2BUGpAo%3D%7C7456bf61db3500c8bb7b3bc38082a470ce4a2ad3
    )

[additionalHeaders:protected] => Array
    (
        [0] => content-type
        [1] => content-length
        [2] => php-auth-user
        [3] => php-auth-pw
        [4] => auth-type
        [5] => x-requested-with
    )

[cookies:protected] => Array
    (
        [PHPSESSID] => 4effe7cedc113d0c371c64031cb2f22f
        [4effe7cedc113d0c371c64031cb2f22f] => DEFAULT|0|2M3TMlgUx3gTlaarYzHIdD28l8q9FTcNubt55+UGpAo=|7456bf61db3500c8bb7b3bc38082a470ce4a2ad3
    )

[get:protected] => Array
    (
        [email] => custom1
        [listid] => 238497
        [apikey] => 928je3fb
    )

[post:protected] => Array
    (
    )

[put:protected] => Array
    (
    )

[body:protected] => custom1=mike%40example.com
[contentType:protected] => x-www-form-urlencoded
[resource:protected] => /mailchimp
[root:protected] => /index.php
)

我怎样才能让$email成为这个的价值?所以它返回“mike@example.com”?

$app->request->get('custom1');之类的内容会导致;

Fatal error: Cannot access protected property Slim::$request in /var/www/html/index.php on line 26

2 个答案:

答案 0 :(得分:3)

修改

查看整个对象,您似乎已发出POST请求,其中包含值custom1。但是,这还没有被解析为POST变量下的请求对象。

您应该能够获得如下原始数据:

$app->request()->getBody()

并将其解析为您的选项。查看内容类型,您需要:

parse_str($app->request()->getBody(), $params)
echo $params['custom1']

旧答案:

尝试:

$app->request()->get('email');

您需要调用$app->request()来获取请求对象,然后从那里获取所需的参数。

答案 1 :(得分:1)

如果它是一个POST方法,你可以尝试这个来获取变量:

$app->request->post() // For all
$app->request->post('custom1') // specific variable

我希望它会帮助你