0

我有一个包含 3 个文本字段的表单,我必须提交该表单,以便我可以检索表单发布数据并将邮件发送给收件人。但是我需要将 post 值存储在变量中,我可以使用这些变量来更新数据库以及发送包含这些数据的电子邮件。

我收到此错误

Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException

路线.php:

<?php
    Route::get('mail,new',array('as' => 'new_mail' , 'uses' => 'sendmail@new' ));
    Route::post('formtest/submit','sendmail@create');
    Route::get('sendmail', function(){

        $data = array('detail' => 'email' );
        $body = 'body here';
        $recipients = 'abc@a.com,def@xyz.com';
        $subject = 'test mail';
        $date = new DateTime();
        $d = $date->format('U = Y-m-d H:i:s');
        Mail::queue('emails.sendmail', $data, function($message)
        {
           $message->to('abc@ymail.com', 'Pradeep G')->subject('test --mail');
        });

        DB::table('sentmail')->insert(
            array('recipients' => $recipients, 'subject' => $subject, 'body'=>$body, 'created_at'=> $d, 'updated_at'=> $d )
        );
        return View::make('emails.sent');

    });

这是文件

Routes.php http://paste.laravel.com/LuO

控制器:控制器/Sendmail.php http://paste.laravel.com/LuN

意见/主页/ftest.blade.php http://paste.laravel.com/LuM

型号:models/Sendmail.php http://paste.laravel.com/LuQ

4

3 回答 3

1

认为您已经修复了它,但您的控制器中有错字。在最后一行它说:

return Veiw::make('home.sendmail');

veiw应该在哪里view

于 2013-12-17T14:37:10.370 回答
0

您的表格为"method" => "put"-但您的路线是“发布”

要么改变"method" => "post"

或将路线更改为

Route::put('formtest/submit','sendmail@create');

编辑:实际上-您必须将方法更改为“发布”-以便您的控制器可以工作(因为它很安静,并且您正在调用 post_create);

于 2013-08-24T05:51:05.807 回答
0

在大多数情况下,除了在您的 SendmailController 中,一切看起来都很好,方法 post_create 您有一个错误。这 ”;” 应该在最后一个“)”之外

$new_mail = Sendmail::create(
    array(
        'recipients' => Input::get('toaddress'),
        'subject'    => Input::get('subject'),
        'body'       => Input::get('body')
    )
);

您是在发布表格时收到错误消息还是只是显示表格?

于 2013-08-23T23:52:03.880 回答