This is confirmation.blade.php
Hi {
{
$name
}
}, <
p > Your registration is completed.Please click the link to get access. < /p> {
{
route('confirmation', $token)
}
}
This is my registerController.php
<?php namespace App\Http\Controllers\donor;
use Mail;
use App\Donor;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use App\Http\Controllers\Controller;
class registerController extends Controller {
public function showRegistrationForm() {
return view('donor.auth.register');
}
//Validates user's Input
protected function validator(array $data) {
return Validator: :make($data, [ 'name'=> 'required|max:255', 'email'=> 'required|email|max:255', 'password'=> 'required|min:6|confirmed', ]);
}
//Create a new seller instance after a validation.
protected function create(array $data) {
$donor=new Donor;
$donor->name=$data['name'];
$donor->email=$data['email'];
$donor->password=bcrypt($data['password']);
$donor->phone_no=$data['phone_no'];
$donor->date_of_birth=$data['date_of_birth'];
$donor->blood_group=$data['blood_group'];
$donor->city=$data['city'];
$donor->district=$data['district'];
$donor->state=$data['state'];
$donor->status_of_avaiblity=$data['status_of_avaiblity'];
$donor->country=$data['country'];
$donor->save();
return $donor;
}
//Handles registration request for seller
public function register(Request $request) {
$donor=new Donor;
$inpu=array( "name"=> $request->name, "email"=> $request->email, "password"=> bcrypt($request->password), "phone_no"=> $request->phone_no, "date_of_birth"=> $request->date_of_birth, "blood_group"=> $request->blood_group, "city"=> $request->city, "district"=> $request->district, "state"=> $request->state, "status_of_avaiblity"=> $request->status_of_avaiblity, "country"=> $request->country);
$validator=$this->validator($inpu);
if ($validator->passes()) {
$data=$this->create($inpu)->toArray();
$data['token']=str_random(25);
//$donor->token = $data['token'];
$donor->name=$request->name;
$donor->email=$request->email;
$donor->password=bcrypt($request->password);
$donor->phone_no=$request->phone_no;
$donor->date_of_birth=$request->date_of_birth;
$donor->blood_group=$request->blood_group;
$donor->city=$request->city;
$donor->district=$request->district;
$donor->state=$request->state;
$donor->status_of_avaiblity=$request->status_of_avaiblity;
$donor->country=$request->country;
$donor->save();
Mail::send('mails.confirmation', $data, function($message) use($data) {
$message->to($data['email']);
$message->subject('Registration Confirmation');
}
);
return redirect(route('login'))->with('status', "Confirmation Email has been send.Please check your email.");
}
return redirect(route('login'))->with('status', $validator->errors());
}
//Redirects sellers
public function confirmation($token) {
$user=User: :where('token', $token)->first();
if(!is_null($user)) {
$user->is_activated=1;
$user->token='';
$user->save();
return redirect(route('login'))->with('status', 'Your activation is completed.');
}
return redirect(route('login'))->with('status', 'Something went wrong.');
}
//added on sun
protected function guard() {
return Auth: :guard('Donor');
}
}
This is web.php(route)
Route::get('/users/confirmation/{token}','donor\registerController@confirmation');
My create_user_table.php is:
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUserTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('donors', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email');
$table->unsignedBigInteger('phone_no')->unique();
$table->string('password');
$table->date('date_of_birth');
$table->enum('blood_group',['A+','A-','A1+','A1-','A1B+','A1B-','A2+','A2-','A2B+','A2B-','AB+','AB-','B+','B-','O+','O-','Bombay Blood Group','INRA']);
$table->string('city');
$table->string('district');
$table->string('state');
$table->string('country');
$table->boolean('status_of_avaiblity');
$table->unique('email');
$table->string('token')->nullable;
$table->boolean('verified')->defult(false);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('donors');
}
}
My code is not running. Actually, the problem is with validator function as it is redirecting to log in, it is not entering in the "if" part.Please suggest me something.It is not even entering into registration function.
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire