Это моя функция.
public function email_verify_send_mail()
{
$inputs = \Input::all();
$rules = array(
'email' => 'required|email'
);
$validation = Validator::make($inputs, $rules);
if ($validation->fails()) {
$messages = $validation->errors();
return View::make('email_verify')->with('errors', $messages);
}
else{
$in=$inputs['email'];
//send mail to the user.......
Mail::send('email_view', ['key' => 'value'], function($message)
{
$message->to($inputs['email'])->subject('Welcome!');
});
return "okie";}
}
здесь, когда я печатаю $inputs['email']
это четко распечатать адрес электронной почты.
но когда я добавляю это в функцию mail :: send, выдает ошибку, Неопределенная переменная: входы.Почему это происходит? Спасибо заранее
входные переменные не входят в область действия анонимной функции. пожалуйста, используйте "use"
утверждение как ниже:
public function email_verify_send_mail()
{
$inputs = \Input::all();
$rules = array(
'email' => 'required|email'
);
$validation = Validator::make($inputs, $rules);
if ($validation->fails()) {
$messages = $validation->errors();
return View::make('email_verify')->with('errors', $messages);
}
else{
$in=$inputs['email'];
//send mail to the user.......
Mail::send('email_view', ['key' => 'value'], function($message) use ($inputs)
{
$message->to($inputs['email'])->subject('Welcome!');
});
return "okie";}
}
Попробуй это….
Mail::send('email_view', ['key' => 'value'], function($message)
{
$message->to($inputs['email'])->subject('Welcome!');
});
в
Mail::send('email_view', ['email' => $in], function($message)
{
$message->to($email)->subject('Welcome!');
});
(или же)
Mail::send('email_view', function($message) use($in)
{
$message->to($in)->subject('Welcome!');
});