mardi 4 juillet 2017

Email confirmation while registration in laravel is not working

    
    
        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