Browse Source

created register form

Плотников Роман Вячеславович 3 years ago
parent
commit
388f1140fe
5 changed files with 45 additions and 2 deletions
  1. 9 1
      app/Controller/Site.php
  2. 25 0
      app/Model/User.php
  3. 1 0
      public/index.php
  4. 2 1
      routes/web.php
  5. 8 0
      views/site/signup.php

+ 9 - 1
app/Controller/Site.php

@@ -4,8 +4,8 @@ namespace Controller;
 
 
 use Src\View;
 use Src\View;
 use Src\Request;
 use Src\Request;
-use Illuminate\Database\Capsule\Manager as DB;
 use Model\Post;
 use Model\Post;
+use Model\User;
 
 
 class Site
 class Site
 {
 {
@@ -19,4 +19,12 @@ class Site
     {
     {
         return new View('site.hello', ['message' => 'hello working']);
         return new View('site.hello', ['message' => 'hello working']);
     }
     }
+
+    public function signup(Request $request)
+    {
+        if ($request->method === "POST" && User::create($request->all())) {
+            return new View('site.signup', ['message' => 'Вы успешно зарегистрированы']);
+        }
+        return (new View())->render('site.signup');
+    }
 }
 }

+ 25 - 0
app/Model/User.php

@@ -0,0 +1,25 @@
+<?php
+
+namespace Model;
+
+use Illuminate\Database\Eloquent\Factories\HasFactory;
+use Illuminate\Database\Eloquent\Model;
+
+class User extends Model {
+    use HasFactory;
+
+    public $timestamps = false;
+    protected $fillable = [
+        'name',
+        'login',
+        'password'
+    ];
+
+    protected static function booted()
+    {
+        static::created(function ($user) {
+            $user->password = md5($user->password);
+            $user->save();
+        });
+    }
+}

+ 1 - 0
public/index.php

@@ -1,6 +1,7 @@
 <?php
 <?php
 
 
 declare(strict_types=1);
 declare(strict_types=1);
+session_start();
 
 
 try {
 try {
     $app = require_once __DIR__ . '/../core/bootstrap.php';
     $app = require_once __DIR__ . '/../core/bootstrap.php';

+ 2 - 1
routes/web.php

@@ -3,4 +3,5 @@
 use Src\Route;
 use Src\Route;
 
 
 Route::add('index', [Controller\Site::class, 'index']);
 Route::add('index', [Controller\Site::class, 'index']);
-Route::add('hello', [Controller\Site::class, 'hello']);
+Route::add('hello', [Controller\Site::class, 'hello']);
+Route::add('signup', [Controller\Site::class, 'signup']);

+ 8 - 0
views/site/signup.php

@@ -0,0 +1,8 @@
+<h2>Регистрация нового пользователя</h2>
+<h3><?= $message ?? ''; ?></h3>
+<form method="post">
+   <label>Имя <input type="text" name="name"></label>
+   <label>Логин <input type="text" name="login"></label>
+   <label>Пароль <input type="password" name="password"></label>
+   <button>Зарегистрироваться</button>
+</form>