Умный мастер сохранить базу данных
Я скачал мастер форм с https://kautube.com/form-wizard-2492017/. Я хочу зарегистрировать пользователя в Laravel 5.4, и теперь дело в том, что я хочу сначала зарегистрироваться. Я создаю smart-wizard с помощью laravel, но jQuery Smart Wizard шириной laravel, не сохраняйте информацию в базе данных.
вот мой стол
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->integer('inspection_id')->unsigned();
$table->string('level')->default('user');
$table->string('firstname');
$table->string('lastname');
$table->string('document');
$table->string('educational');
$table->string('mobile');
$table->string('birthdate');
$table->string('image');
$table->string('national_code');
$table->string('province');
$table->string('city');
$table->string('gender');
$table->string('email')->unique();
$table->string('password');
$table->string('api_token', 60)->unique();
$table->rememberToken();
$table->timestamps();
$table->foreign('inspection_id')->references('id')->on('inspections');
});
}
вот мой RegisterController.php
<?php
namespace App\Http\Controllers\Auth;
use App\User;
use App\Http\Controllers\Controller;
use Illuminate\Auth\Events\Registered;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;
class RegisterController extends Controller
{
use RegistersUsers;
protected $redirectTo = '/home';
public function __construct()
{
$this->middleware('guest');
}
protected function validator(array $data)
{
return Validator::make($data, [
'firstname' => 'required|string|max:255',
'lastname' => 'required|string|max:255',
'document' => 'required|string|max:255',
'educational' => 'required|string|max:255',
'mobile' => 'required|string|max:255',
'birthdate' => 'required|string|max:255',
'image' => 'required|string|max:255',
'national_code' => 'required|string|max:255',
'province' => 'required|string|max:255',
'city' => 'required|string|max:255',
'gender' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:6|confirmed',
]);
}
protected function create(array $data)
{
return User::create([
'firstname' => $data['firstname'],
'lastname' => $data['lastname'],
'document' => $data['document'],
'educational' => $data['educational'],
'mobile' => $data['mobile'],
'birthdate' => $data['birthdate'],
'image' => $data['image'],
'national_code' => $data['national_code'],
'province' => $data['province'],
'city' => $data['city'],
'gender' => $data['gender'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
'inspection_id' => 1
]);
}
public function register(Request $request)
{
$this->validator($request->all())->validate();
event(new Registered($user = $this->create($request->all())));
$this->guard()->login($user);
return $this->registered($request, $user)
?: redirect($this->redirectPath());
}
}
вот мой балде
@extends('auth.master')
@section('style')
@endsection
@section('content')
<div class="col-md-10">
<div class="panel panel-default">
<div class="panel-heading main-color-bg">
<h3 class="panel-title">ثبت نام</h3>
</div>
</div>
<div class="panel panel-default">
<div class="panel-body">
<form class="form-horizontal" method="POST" action="{{ route('register') }}">
{{ csrf_field() }}
<div class="wizards">
<div class="progressbar">
<div class="progress-line" data-now-value="12.11" data-number-of-steps="4" style="width: 12.11%;"></div> <!-- 19.66% -->
</div>
<div class="form-wizard active">
<div class="wizard-icon"><i class="fa fa-user"></i></div>
<p>مشخصات شناسایی</p>
</div>
<div class="form-wizard">
<div class="wizard-icon"><i class="fa fa-user"></i></div>
<p>اطلاعات بازرسی</p>
</div>
<div class="form-wizard">
<div class="wizard-icon"><i class="fa fa-key"></i></div>
<p>تصویر</p>
</div>
<div class="form-wizard">
<div class="wizard-icon"><i class="fa fa-check-circle"></i></div>
<p>تایید نهایی</p>
</div>
</div>
<fieldset>
<div class="form-group">
<div class="col-md-1"><label for="firstname">نام:</label></div>
<div class="col-md-11"><input id="firstname" type="text" onChange="finalOK()" onChange="finalOK()" class="form-control" name="firstname" value="{{ old('firstname') }}"></div>
</div>
<div class="form-group">
<div class="col-md-1"><label for="lastname">نام خانوادگی:</label></div>
<div class="col-md-11"><input id="lastname" type="text" onChange="finalOK()" class="form-control" name="lastname" value="{{ old('lastname') }}"></div>
</div>
<div class="form-group">
<div class="col-md-1"><label for="email">ایمیل:</label></div>
<div class="col-md-11"><input id="email" type="text" onChange="finalOK()" class="form-control" name="email" value="{{ old('email') }}"></div>
</div>
<div class="form-group">
<div class="col-md-1"><label for="password">رمز عبور:</label></div>
<div class="col-md-11"><input id="password" type="password" class="form-control" name="password" value="{{ old('password') }}"></div>
</div>
<div class="form-group">
<div class="col-md-1"><label for="password-confirm">تایید رمز عبور:</label></div>
<div class="col-md-11"><input id="password-confirm" type="password" class="form-control" name="password_confirmation" value="{{ old('password_confirmation') }}"></div>
</div>
<div class="form-group">
<div class="col-md-1"><label for="mobile">شماره موبایل:</label></div>
<div class="col-md-11"><input id="mobile" type="text" onChange="finalOK()" class="form-control" name="mobile" value="{{ old('mobile') }}"></div>
</div>
<div class="form-group">
<div class="col-md-1"><label for="educational">رشته تحصیلی:</label></div>
<div class="col-md-11"><input id="educational" type="text" onChange="finalOK()" class="form-control" name="educational" value="{{ old('educational') }}"></div>
</div>
<div class="form-group">
<div class="col-md-1"><label for="document">مدرک تحصیلی:</label></div>
<div class="col-md-11"><input id="document" type="text" onChange="finalOK()" class="form-control" name="document" value="{{ old('document') }}"></div>
</div>
<div class="form-group">
<div class="col-md-1"><label for="birthdate">تاریخ تولد:</label></div>
<div class="col-md-11"><input id="birthdate" type="text" onChange="finalOK()" class="form-control" name="birthdate" value="{{ old('birthdate') }}"></div>
</div>
<div class="form-group">
<div class="col-md-1"><label for="nasional_code">کد شناسایی:</label></div>
<div class="col-md-11"><input id="nasional_code" type="text" onChange="finalOK()" class="form-control" name="nasional_code" value="{{ old('nasional_code') }}"></div>
</div>
<div class="form-group">
<div class="col-md-1"><label for="gender">جنسیت:</label></div>
<div class="col-md-11">
<div class="radio">
<label>
<input type="radio" name="gender" id="male" value="آقا">
آقا
</label>
<label>
<input type="radio" name="gender" id="female" value="خانم">
خانم
</label>
</div>
</div>
</div>
<div class="wizard-buttons">
<button type="button" class="btn btn-next">بعدی</button>
</div>
</fieldset>
<fieldset>
<div class="form-group">
<div class="col-md-1"><label for="province">استان</label></div>
<div class="col-md-11">
<select class="form-control" onChange="finalOK()" name="province" id="province" required>
<option value="لرستان">لرستان</option>
<option value="تهران">تهران</option>
</select>
</div>
</div>
<div class="form-group">
<div class="col-md-1"><label for="city">شهرستان</label></div>
<div class="col-md-11">
<select class="form-control" onChange="finalOK()" name="city" id="city" required>
<option>بروجرد</option>
</select>
</div>
</div>
<div class="form-group">
<div class="col-md-1"><label for="inspector_typeُ">نوع بازرس</label></div>
<div class="col-md-11">
<select class="form-control" onChange="finalOK()" name="inspector_typeُ" id="inspector_typeُ" required>
<option>بروجرد</option>
</select>
</div>
</div>
<div class="wizard-buttons">
<button type="button" class="btn btn-previous">قبلی</button>
<button type="button" class="btn btn-next">بعدی</button>
</div>
</fieldset>
<fieldset>
<div class="form-group">
<div class="col-md-1"><label for="image">تصویر</label></div>
<div class="col-md-11"><input type="file" name="image" id="image" onchange="previewFile()"></div>
</div>
<div class="wizard-buttons">
<button type="button" class="btn btn-previous">قبلی</button>
<button type="button" class="btn btn-next">بعدی</button>
</div>
</fieldset>
<fieldset>
<div class="wizard-buttons">
<div class="row">
@include('auth.final')
</div>
<div class="row">
<button type="button" class="btn btn-previous">قبلی</button>
<button type="submit" name="save" class="btn btn-primary btn-submit">ذخیره</button>
</div>
</div>
</fieldset>
</form>
</div>
</div>
</div>
@endsection
@section('script')
@endsection
master.blade.php
<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>محیط مدیریت | ویرایش صفحه</title>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"/>
<link href="{{ asset('themes/css/bootstrap.min.css') }}" rel="stylesheet" type="text/css" />
<link href="{{ asset('themes/css/bootstrap.rtl.min.css') }}" rel="stylesheet" type="text/css" />
<link href="{{ asset('themes/css/fontiran.css') }}" rel="stylesheet" type="text/css" />
<link href="{{ asset('themes/css/fontawesome-all.min.css') }}" rel="stylesheet" type="text/css" />
<link href="{{ asset('themes/css/form-wizard.css') }}" rel="stylesheet" type="text/css" />
<link href="{{ asset('themes/css/style.css') }}" rel="stylesheet" type="text/css" />
@yield('style')
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div id="app">
@include('auth.section.header')
</div>
@include('auth.section.footer')
</body>
</html>
footer.blade.php
<footer id="footer" class="clearfix">
<p>CopyRight 2018</p>
</footer>
<script src="{{ asset('themes/js/ajax.min.js') }}"></script>
<script src="{{ asset('themes/js/popper.min.js') }}"></script>
<script src="{{ asset('themes/js/bootstrap.min.js') }}"></script>
<script src="{{ asset('themes/js/form-wizard.js') }}"></script>
Модель User.pph
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'firstname', 'lastname', 'email', 'password', 'document', 'educational', 'mobile', 'birthdate', 'image', 'national_code', 'province', 'city', 'gender',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token', 'api_token'
];
}