【问题标题】:Slim framework get the data from a formSlim 框架从表单中获取数据
【发布时间】:2017-04-08 21:54:34
【问题描述】:

我尝试用 SLIM 框架制作一个简单的表单。 我不知道如何显示发布的数据。我只想尝试回应它。 听说需要使用额外的库 RESPECT,我觉得 SLIM 可以做这么小的事情。

这是我的代码:

require '../../vendor/slim/slim/Slim/Slim.php';
\Slim\Slim::registerAutoloader();
$app = new \Slim\Slim();

$app->get('/', function() use ($app){
    $app->render('form.php');
});

$app->post('/', function() use ($app){
    $req = $app->request();
    $errors = array();
    $params = array(
        'email' => array(
            'name'=>'Email',
            'required'=>true,
            'max_length'=>64,
        ),
        'subject' => array(
            'name'=>'Subject',
            'required'=>true,
            'max_length'=>256,
        ),
      );
        //submit_to_db($email, $subject, $message);
        $app->flash('message','Form submitted!');

    $app->redirect('./');
});

$app->run();

【问题讨论】:

    标签: php forms slim


    【解决方案1】:

    在 Slim 2 中,您可以使用 request()post() 方法访问您发布的数据:

    $app->post('/', function () use ($app) {
        $request = $app->request();
        $email = $request->post('Email');
        $subject = $request->post('Subject');
        echo "Email: $email<br/>";
        echo "Subject: $subject";
    });
    


    在 Slim 3 中,请求被传递给回调/控制器/等。你可以调用getParam() 从正文或查询字符串中获取值(按此顺序):

    $app->post('/', function ($request, $response, $args) {
        $email = $request->getParam('Email');
        $subject = $request->getParam('Subject');
        echo "Email: $email<br/>";
        echo "Subject: $subject";
    });
    

    Slim 3.1 开始,还有getParsedBodyParam()getFetchParam() 仅从正文或查询字符串中获取。 (PR #1620)


    提醒一下,您可以提供一个默认值:$request-&gt;getParam('Email', 'default_value')

    【讨论】:

    • @bourax 您如何发送数据?一个普通的 HTML 表单还是一个 Ajax 请求?
    • 现在可以使用了,谢谢。问题出在 $app->redirect('./');现在我使用 $app->flash('email',$email); $app->flash('主题',$主题);然后以 form.php 回显它们 echo $flash['subject'];我用你的方式保存在数据库中,谢谢
    猜你喜欢
    • 2018-01-02
    • 2015-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    • 2014-02-14
    • 1970-01-01
    相关资源
    最近更新 更多