بی آکادمی
آموزش HTML
آموزش CSS
فلکس باکس
جاوااسکریپت
آموزش SQL
آموزش MySQL
آموزش PHP
آموزش لاراول
دانلود و نصب لینوکس
داکر دسکتاپ
VS Code
گیت و گیت هاب
آموزش پایتون
هوش مصنوعی
TypeScript
فروشگاه اینترنتی
اپلیکیشن موبایل
آموزش اکسل

ساخت فرم ثبت نام با ذخیره‌سازی در دیتابیس

ساخت فرم ثبت نام با فریم ورک لاراول

برای اضافه کردن دکمه ثبت نام در صفحه اصلی که فرم را باز کند و داده ها را در دیتابیس ذخیره کند، این مراحل را دنبال کنید:

فرم ثبت نام
  1. ایجاد Route ها
    در فایل routes/web.php:
    web.php
    use App\Http\Controllers\Auth\RegisterController;
    Route::get('/register', [RegisterController::class, 'showRegistrationForm'])->name('register');
    Route::post('/register', [RegisterController::class, 'register']);
  2. ایجاد کنترلر
    Ubuntu 22.04
    cd first-website
    کنترلر ثبت نام را ایجاد کنید:
    Ubuntu 22.04
    docker exec laravel-app php artisan make:controller Auth/RegisterController
  3. سپس محتوای app/Http/Controllers/RegisterController.php:

    php
    <?php
    namespace App\Http\Controllers\Auth;
    use App\Http\Controllers\Controller;
    use App\Models\User;
    use Illuminate\Http\Request;
    use Illuminate\Support\Facades\Hash;
    class RegisterController extends Controller
    {
    public function showRegistrationForm()
    {
    return view('auth.register');
    }
    public function register(Request $request)
    {
    $request->validate([
    'name' => 'required|string|max:255',
    'email' => 'required|string|email|max:255|unique:users',
    'password' => 'required|string|min:8|confirmed',
    ]);
    User::create([
    'name' => $request->name,
    'email' => $request->email,
    'password' => Hash::make($request->password),
    ]);
    return redirect('/')->with('success', 'ثبت نام با موفقیت انجام شد!');
    }
    }
  4. (دستور اول)
  5. bash
    docker exec laravel-app mkdir -p resources/views/auth
  6. (دستور دوم)
  7. bash
    docker exec laravel-app touch resources/views/auth/register.blade.php
  8. ایجاد ویو ثبت نام
    کد زیر را کپی کرده و در فایل resources/views/auth/register.blade.php پیست کنید
    html
    <!DOCTYPE html>
    <html lang="fa" dir="rtl">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!--<title> ایجاد ویو ثبت نام</title>-->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
    </head>
    <body>
    <div class="container">
    <div class="row justify-content-center">
    <div class="col-md-8">
    <div class="card">
    <div class="card-header">ثبت نام</div>
    <div class="card-body">
    <form method="POST" action="{{ route('register') }}">
    @csrf
    <div class="form-group row">
    <label for="name" class="col-md-4 col-form-label text-md-right">نام</label>
    <div class="col-md-6">
    <input id="name" type="text" class="form-control " name="name" required autocomplete="name" autofocus>
    </div>
    </div>
    <div class="form-group row">
    <label for="email" class="col-md-4 col-form-label text-md-right">ایمیل</label>
    <div class="col-md-6">
    <input id="email" type="email" class="form-control " name="email" required autocomplete="email">
    </div>
    </div>
    <div class="form-group row">
    <label for="password" class="col-md-4 col-form-label text-md-right">رمز عبور</label>
    <div class="col-md-6">
    <input id="password" type="password" class="form-control " name="password" required autocomplete="new-password">
    </div>
    </div>
    <div class="form-group row">
    <label for="password-confirm" class="col-md-4 col-form-label text-md-right">تکرار رمز عبور</label>
    <div class="col-md-6">
    <input id="password-confirm" type="password" class="form-control" name="password_confirmation" required autocomplete="new-password">
    </div>
    </div>
    <div class="form-group row mb-0">
    <div class="col-md-6 offset-md-4">
    <button type="submit" class="btn btn-primary">
    ثبت نام
    </button>
    </div>
    </div>
    </form>
    </div>
    </div>
    </div>
    </div>
    </div>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
    </body>
    </html>
  9. در مرورگر به آدرس زیر بروید
  10. bash
    http://localhost:8000/register

    فرمی به شکل زیر باید در این صفحه موجود باشد

    فرم ثبت نام
  11. اضافه کردن دکمه ثبت نام به صفحه اصلی
    در فایل ویو صفحه اصلی (مثلاً resources/views/welcome.blade.php):
    html
    <a href="{{ route('register') }}" class="btn btn-primary">ثبت نام</a>
  12. بدین ترتیب اگر مراحل فوق را به درستی انجام داده باشید با کلیک روی دکمه ثبت نام به صفحه مربوط به ثبت نام هدایت خواهید شد.

  13. مشاهده نتایج در دیتابیس
  14. برای مشاهده کاربران ثبت نام شده:

    1. به phpMyAdmin بروید (آدرس: http://localhost:8080)
    2. با اطلاعات زیر وارد شوید:
      • سرور: db
      • کاربر: laravel
      • رمز عبور: secret
    3. دیتابیس laravel را انتخاب کنید
    4. جدول users را باز کنید
  15. تست عملکرد سیستم
    1. به آدرس http://localhost:8000/register بروید
    2. فرم را پر کنید و ثبت نام کنید
    3. به phpMyAdmin مراجعه کنید و کاربر جدید را در جدول users ببینید