Loading app/Http/Controllers/DivingSignUpController.php 0 → 100644 +29 −0 Original line number Diff line number Diff line <?php namespace App\Http\Controllers; use App\Models\DivingSignUpModel; use Illuminate\Http\Request; class DivingSignUpController extends Controller { public function show(){ $userid = session()->get('userid'); if(!preg_match('/[0-9]+/', $userid)) return DivingSignUpController::error(); return view('diving-sign-up'); } public function index($ds_code){ $userid = session()->get('userid'); $request = DivingSignUpModel::select()->where('US_ID', $userid)->where('DS_CODE', $ds_code)->count(); if(!$request == 0) return redirect()->route('signup')->withErrors(['already_registered' => 'Error already registered']); $request = DivingSignUpModel::insert(['US_ID' => $userid, 'DS_CODE' => $ds_code]); return redirect()->route('signup')->with('Success', 'inscription success'); } public static function error(){ return view('diving-sign-up')->withErrors(['userid' => 'Error with userid']); } } app/Models/DivingSignUpModel.php 0 → 100644 +15 −0 Original line number Diff line number Diff line <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class DivingSignUpModel extends Model { protected $table = 'car_registration'; protected $primaryKey = ['us_id', 'ds_code']; protected $keyType = ['int', 'string']; protected $fillable = ['US_ID', 'DS_CODE']; use HasFactory; } resources/views/diving-sign-up.blade.php 0 → 100644 +16 −0 Original line number Diff line number Diff line <x-layout> <a href='/signup/DS2'>Click</a> @if (Session::has('Success')) <div class="alert alert-info">{{ Session::get('Success') }}</div> @endif @if ($errors->any()) <div class="alert alert-danger"> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif </x-layout> No newline at end of file routes/web.php +4 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ use App\Http\Controllers\DivesList; use App\Models\DivingSession; use App\Http\Controllers\DivingSignUpController; use Illuminate\Support\Facades\Route; use Illuminate\Http\Request; /* Loading Loading @@ -53,4 +54,7 @@ { return view('test', ['user' => User::find(1)]); }); Route::get('/signup/{ds_code}', [DivingSignUpController::class, 'index']); Route::get('/signup', [DivingSignUpController::class, 'show'])->name('signup'); Loading
app/Http/Controllers/DivingSignUpController.php 0 → 100644 +29 −0 Original line number Diff line number Diff line <?php namespace App\Http\Controllers; use App\Models\DivingSignUpModel; use Illuminate\Http\Request; class DivingSignUpController extends Controller { public function show(){ $userid = session()->get('userid'); if(!preg_match('/[0-9]+/', $userid)) return DivingSignUpController::error(); return view('diving-sign-up'); } public function index($ds_code){ $userid = session()->get('userid'); $request = DivingSignUpModel::select()->where('US_ID', $userid)->where('DS_CODE', $ds_code)->count(); if(!$request == 0) return redirect()->route('signup')->withErrors(['already_registered' => 'Error already registered']); $request = DivingSignUpModel::insert(['US_ID' => $userid, 'DS_CODE' => $ds_code]); return redirect()->route('signup')->with('Success', 'inscription success'); } public static function error(){ return view('diving-sign-up')->withErrors(['userid' => 'Error with userid']); } }
app/Models/DivingSignUpModel.php 0 → 100644 +15 −0 Original line number Diff line number Diff line <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class DivingSignUpModel extends Model { protected $table = 'car_registration'; protected $primaryKey = ['us_id', 'ds_code']; protected $keyType = ['int', 'string']; protected $fillable = ['US_ID', 'DS_CODE']; use HasFactory; }
resources/views/diving-sign-up.blade.php 0 → 100644 +16 −0 Original line number Diff line number Diff line <x-layout> <a href='/signup/DS2'>Click</a> @if (Session::has('Success')) <div class="alert alert-info">{{ Session::get('Success') }}</div> @endif @if ($errors->any()) <div class="alert alert-danger"> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif </x-layout> No newline at end of file
routes/web.php +4 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ use App\Http\Controllers\DivesList; use App\Models\DivingSession; use App\Http\Controllers\DivingSignUpController; use Illuminate\Support\Facades\Route; use Illuminate\Http\Request; /* Loading Loading @@ -53,4 +54,7 @@ { return view('test', ['user' => User::find(1)]); }); Route::get('/signup/{ds_code}', [DivingSignUpController::class, 'index']); Route::get('/signup', [DivingSignUpController::class, 'show'])->name('signup');