এজাক্স দিয়ে লারাভেল রেজিস্ট্রেশন লগিন
- 18-Jun-2022 04:37AM
- Zahidul Islam
- 1148
ধরুন আপনি শুধুমাত্র লারাভেল এবং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 সাইট এর যেতে হবে এই জন্য নিচের লিঙ্ক এ দেখুন।
আর দেখুন