Bonjour,

je me suis mis à faire du Slim et du coup je voulais commencer par quelque chose de "simple" à permiere vue.

Ce que je fais

POST  =>  http://url/login?email=user@email.com
$app->post('/login', function() use ($app){
    $email = $app->request->post('email');
})->setName('login');

Ce que je veux

C'est recupere les params (email) de l'url qui est envoyé en POST.

Ce que j'obtiens

Dans l'état actuel, une jolie :
Notice: Undefined property: Slim\App::$request
et une autre jolie:
Fatal error: Call to a member function post() on null

voila voila,
des bisous

6 réponses


BaBeuloula
Réponse acceptée

EDIT : Avec la version 3 slim le système à changé et est un peut moins bien. Si tu fais ça, tu devrais être bon :

$request->getParsedBody()['email']
Amstramgram
Auteur
Réponse acceptée

Oui je viens de voir. Je peux faire ca:

$request->getParam('email')
$request->getParams()

Merci.

Salut,

C'est normal car la route doit être comme cela :

$app->post('/login', function($request, $response, $args) use ($app){
    $email = $request->post('email');
})->setName('login');

EDIT : Sinon tu as la méthode moche avec $_POST et $_GET

Merci,
j'ai bien rajouter les variables mais j'ai : Fatal error: Call to undefined method Slim\Http\Request::post()
Tu sais d'ou ca peux venir ?

Et le getParam('email') fonctionne aussi pour les requêtes GET, PUT et DELETE ?

PUT et DELETE je sais pas mais pour le GET oui.