首页 > 解决方案 > 无法获取请求数据 laravel 5.6

问题描述

我想在从请求输入数据到数据库后发送电子邮件,但我收到消息

未定义变量:电子邮件

我不知道我在哪里修复代码。帮我找人。非常感谢

public function insert(Request $req){

$name = $req->input('name');
$email = $req->input('email');
$date = $req->input('date'); 
$kota = $req->input('kota');     
$line = $req->input('line');   

$cek = DB::table('peserta')->where('email',$email)->count();
  if ($cek > 0 and count($error) > 0 ) {
    $pesan = [];
    $pesan['halu'] = 'danger';
    $pesan['message'] = 'Email anda sudah terdaftar';
  }
  else{
    if($imageopini !=null){
      DB::table('peserta')->insert(['nama' => $name, 'email' => $email, 'ttl' => $date, 'kota' => $kota,
    'line' => $line]);

  $data = array('name'=>"Sam Jose", "body" => "Test mail");

    Mail::send('email',$data, function($message) {
        $message->to($email, $name )
                ->subject('Test');
        $message->from('super@gmail.com','Super Event');
    });
    }
    $pesan = [];
    $pesan['halu'] = 'success';
    $pesan['message'] = 'Data anda sukses disimpan, silahkan tunggu pengumuman pemenang.';
  }
  return view('formlomba',$pesan);
}

在这里我附上 HTML 代码。我正在寻找标签 html 是正确的。这有什么问题?

<form class="contact100-form validate-form" action="/formlomba" method="post" enctype="multipart/form-data">

<div class="wrap-input100 validate-input" data-validate="Name is required">
                <input class="input100" type="text" name="name" placeholder="Nama">
                <span class="focus-input100-1"></span>
                <span class="focus-input100-2"></span>
            </div>

            <div class="wrap-input100 validate-input" data-validate = "Valid email is required: ex@abc.xyz">
                <input class="input100" type="email" name="email" placeholder="Email">
                <span class="focus-input100-1"></span>
                <span class="focus-input100-2"></span>
            </div>

            <div class="wrap-input100 validate-input" data-validate = "Valid email is required: ex@abc.xyz">
                <input class="input100" type="email" name="emailulang" placeholder="Ketik Ulang Email">
                <span class="focus-input100-1"></span>
                <span class="focus-input100-2"></span>
            </div>

....

    <div class="container-contact100-form-btn">
      <button class="contact100-form-btn" type="submit" id="btnselesai">
        Selesai
      </button>
    </div>

标签: phpemaillaravel-5request

解决方案


使用这样的路线设置您的表单操作

action="{{ route('formlomba') }}"

确保您的路线定义为Route::post


在所有<input>标签中添加required标签


要捕获数据,请使用

  1. $request->get('emal');
  2. Input::get('email')# 也导入这个use Illuminate\Support\Facades\Input;

推荐阅读