এজাক্স দিয়ে লারাভেল রেজিস্ট্রেশন লগিন

ধরুন আপনি শুধুমাত্র  লারাভেল এবংhtml css,js এন্ড জেকোয়েরি use  করে একটি সাইট বানিয়েছেন। ধরুন   কোনো একটা  প্রয়োজনে  আপনি ইউসার এর  কাছ থেকে রিভিউ নিবেন। যেকোন আপনি চান রিভিউ করতে গেলে লগইন করতে হবে। আর রেজিস্টার ইউসার না হলে লগইন করে রিভিউ দিবে।  এই ক্ষেত্রে  কি করতে হবে তা এই পোস্ট এ দেখানো  হলো 

 

1.  প্রথমে  composer create-project laravel/laravel example-app    কমান্ড দিয়ে একটা লারাভেল এপ্লিকেশন  বানিয়ে নিন।

এরপর  প্রয়োজনীয়  প্যাকেজ ইনস্টল করে নিন। ধরুন উপনি একটা বিকে এর  রিভিউ  নিবেন  ,যেকোন কোনো ইউসার রিভিউ দিতে চাইলে তাকে রেজিস্টার করে লগইন করে নিতে হবে। এই ক্ষেত্রে  একজন ইউসার কে আগেই যদি বলা হয় আপনি  রেজিস্টার করে লগইন করে রিভিউ  দিন ! তাইলে বেশির ভাগ ইউসার  রিভিউ  দিবে না।  এইখানে  আপনি যদি রিভিউ নিয়ে সাবমিট আর সময় যদি বলেন লগইন করতে হবে তাইলে ইউসার ভাৱতে কষ্ট করে রেইভেও লিখলাম যখন তাইলে বাদবাকি  কাজ ও করি , এই ক্ষেত্রে   লগইন করতে  গিয়ে যদি পেজ রিলোড হয়ে যায় তাইলে ইউসার নিচ্ছই  আবার লিখবে না।  এইখানে কি করে  পেজ  রিলোড না করে লগইন  করানো যায় তা দেখানো  হলো

in Registions controlloer 

 

public function ajaxregister(Request $request)

    {

         $validator = Validator::make($request->all(), [

            'name' => 'required|min:3|max:80',

            'phone' => 'required|numeric|digits:11|unique:users',

            // 'email' => 'min:3|max:180|email|unique:users',

            'password' => 'required|min:6|max:30',

        ]);

        if ($validator->fails()) {

            return response()->json([

                'success' => false,

                'errors' => $validator->errors()->all()

            ]);

        } else {

 

            $list = new User();

            $list->name = $request->name;

            $list->ip_address = $request->ip();

            $list->phone = $request->phone;

            $list->username = Str::random(8, 15);

            $list->email = strtolower(trim($request->email));

            $list->password = Hash::make($request->password);

            $list->image = 'not-found.jpg';

            $list->location = $request->location;

            $list->otpno = mt_rand(1000, 9999);

            $list->save();

 

            if ($list->id) {

                $url = "user opt proviewer url";

                $number = $request->phone;

                $text = ("Dear " . $request->name . ', ' . "Please Verify  The Code " . $list->otpno . ". Thank You. (Team sohibd)");

                $data = array(

                    'username' => 'userusername',

                    'password' => 'QKR2SPFN',

                    'number' => "$number",

                    'message' => "$text"

                );

 

                $ch = curl_init(); // Initialize cURL

                curl_setopt($ch, CURLOPT_URL, $url);

                curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));

                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

                $smsresult = curl_exec($ch);

                $p = explode("|", $smsresult);

                $sendstatus = $p[0];

                return response()->json(['success' => true]);

            } else {


 

                return response()->json(['success' => false]);

            }

        }

    }

 

for Login

 

    public function modallogin(Request $request, FlasherInterface $flasher)

    {

        // return response($request->all());

        $userinfo = User::where('phone', '=', $request->phoneemail)->first();

        if ($userinfo) {

            $token = Auth::attempt(['phone' => $request->phoneemail, 'password' => $request->password, 'status' => '1']);

 

            if ($token) {

                $flasher->addSuccess('Login Successfully');

                return response()->json([

                    'success' => true,

                    'message' => 'Login Success'

                ], 201);

            } else {

 

                return response()->json([

                    'success' => false,

                ], 401);

            }

        } else {

 

            $token = Auth::attempt(['email' => $request->phoneemail, 'password' => $request->password, 'status' => '1']);

            if ($token) {

                $flasher->addSuccess('Login Successfully');

                return response()->json([

                    'success' => true,

                    'message' => 'Login Success'

                ], 201);

            } else {

 

                return response()->json([

                    'success' => false,

                ], 401);

            }

        }

    }

 

blade file  এর কোড   দেখতে codepen  সাইট এর  যেতে হবে এই জন্য নিচের লিঙ্ক এ দেখুন।   

  Laravel Bike Revew 

আর দেখুন

 

                                                                


লারাভেল একটা রিকুয়েষ্টকে কিভাবে হ্যান্ডেল করে? আমরা সাধারানত যা দেখি যে web.php থেকে কোনো একটা রাউট কন্ট্রলারে যাচ্ছে এবং এর পর একটা রেস্পন্স পাওয়া যাচ্ছে। কিন্তু রিকুয়েষ্ট এর পুরো যাত্রাটা হয়তো অনেকের কাছেই ক্লিয়ার না। চলুন তাহলে লারাভেল লাইফসাইকেলে একবার ঘুরে করে আসা যাক।

আপনি ও পছন্দ করতে পারেন