Как сменить почтовый адрес получателя, установив флажок в Laravel контактной форме - PullRequest
0 голосов
/ 28 апреля 2020

Это контактная форма и сортировка.

Я бы хотел изменить адрес электронной почты, установив флажок "Пользователь".

Например. Вот столбец с именем genders.

Когда пользователь устанавливает флажок "мужчина", адрес электронной почты будет [TO] 'man_survey@12345677.site', а [CC] - 'man_cc_survey@12345677.site'.

Когда пользователь проверяет 'женщина' адрес электронной почты будет [TO] 'female_survey@12345677.site', а [CC] - 'female_cc_survey@12345677.site'

Не могли бы вы научить меня, как добавить эту функцию в мой текущий код?

My Laravel Framework - 5.7.28

    public function complete(ContactRequest $request)
    {
        $input = $request->except('action');

        if ($request->action === 'back') {
            return redirect()->action('ContactsController@index')->withInput($input);        }


        if (isset($request->type)) {
            $request->merge(['type' => implode(', ', $request->type)]);
        }


        // store data
        Contact::create($request->all());

        // send mail
        \Mail::send(new \App\Mail\Contact([
            'to' => $request->email,
            'to_name' => $request->name,
            'from' => 'survey@12345677.site',
            'from_name' => 'from name',
            'subject' => 'Thank you',
            'type' => $request->type,
            'gender' => $request->gender,
            'body' => $request->body
        ]));

        // recive mail
        \Mail::send(new \App\Mail\Contact([
            'to' => 'survey@12345677.site',
            'to_name' => 'to name',
            'from' => $request->email,
            'from_name' => $request->name,
            'subject' => 'you got mail',
            'type' => $request->type,
            'gender' => $request->gender,
            'body' => $request->body
        ], 'from'));


        return view('contacts.complete');
    }
}

ОБНОВЛЕНИЕ Это сработало

publi c функция завершена (ContactRequest $ request) {$ input = $ request- > кроме («действие»);

        if ($request->action === 'back') {
            return redirect()->action('ContactsController@index')->withInput($input);        }


        if (isset($request->type)) {
            $request->merge(['type' => implode(', ', $request->type)]);
        }


        // store data
        Contact::create($request->all());


    if($request->gender == 'male') {

 // send mail

            \Mail::send(new \App\Mail\Contact([
                'to' => $request->email,
                'to_name' => $request->name,
                'from' => 'man_survey@12345677.site',
                'from_name' => 'from name',
                'subject' => 'Thank you',
                'type' => $request->type,
                'gender' => $request->gender,
                'body' => $request->body
            ]));

            // recive mail
            \Mail::send(new \App\Mail\Contact([
                'to' => $email,
                'to_name' => 'to name',
                'from' => $request->email,
                'from_name' => $request->name,
                'subject' => 'you got mail',
                'type' => $request->type,
                'gender' => $request->gender,
                'body' => $request->body
            ], 'from'));


            return view('contacts.complete');      


    } else {          

 // send mail
            \Mail::send(new \App\Mail\Contact([
                'to' => $request->email,
                'to_name' => $request->name,
                'from' => 'female_survey@12345677.site',
                'from_name' => 'from name',
                'subject' => 'Thank you',
                'type' => $request->type,
                'gender' => $request->gender,
                'body' => $request->body
            ]));

            // recive mail
            \Mail::send(new \App\Mail\Contact([
                'to' => $email,
                'to_name' => 'to name',
                'from' => $request->email,
                'from_name' => $request->name,
                'subject' => 'you got mail',
                'type' => $request->type,
                'gender' => $request->gender,
                'body' => $request->body
            ], 'from'));


            return view('contacts.complete');

    }


        }

1 Ответ

0 голосов
/ 28 апреля 2020

Вы можете использовать переключатель в форме, чтобы увидеть, какой пол выбран пользователем. В HTML

<input type="radio" name="gender" value="male">Male
<input type="radio" name="gender" value="female">Female
<input type="radio" name="gender" value="no_answer">Prefer Not to Answer

В контроллере вы можете использовать что-то вроде этого

    public function complete(ContactRequest $request)
        {
            $input = $request->except('action');

            if ($request->action === 'back') {
                return redirect()->action('ContactsController@index')->withInput($input);        }


            if (isset($request->type)) {
                $request->merge(['type' => implode(', ', $request->type)]);
            }


            // store data
            Contact::create($request->all());


    if($request->gender == 'male') {
      $email = 'man_survey@12345677.site';
      $cc_email = 'man_cc_survey@12345677.site'
    } else {
        $email = 'female_survey@12345677.site';
        $cc_email = 'female_cc_survey@12345677.site'
    }

            // send mail
            \Mail::send(new \App\Mail\Contact([
                'to' => $request->email,
                'to_name' => $request->name,
                'from' => 'survey@12345677.site',
                'from_name' => 'from name',
                'subject' => 'Thank you',
                'type' => $request->type,
                'gender' => $request->gender,
                'body' => $request->body
            ]));

            // recive mail
            \Mail::send(new \App\Mail\Contact([
                'to' => $email,
                'to_name' => 'to name',
                'from' => $request->email,
                'from_name' => $request->name,
                'subject' => 'you got mail',
                'type' => $request->type,
                'gender' => $request->gender,
                'body' => $request->body
            ], 'from'));


            return view('contacts.complete');
        }
...