• 04-01-2019, 19:45:02
    #1
    Merhaba arkadaşlar, laravel ile kayıt işlemini yaptırıyorum ama login sorunum var.

    Kullanıcı Tablosu ;

    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('username', 50)->unique();
            $table->string('email', 50)->unique();
            $table->string('password',60);
            $table->float('balance',8)->default(0);
            $table->string('phone',11)->nullable();
            $table->string('status',7)->default('Active');
            $table->rememberToken();
            $table->timestamp('deleted_at');
            $table->timestamps();
        });
    }
    Login Formu:

    <form class="pt-3" method="post" action="{{route('userLogin')}}">
                                @include('errorPages.error')
                                {{csrf_field()}}
                                <div class="form-group">
                                    <input type="text" class="form-control form-control-lg" id="exampleInputEmail1" name="username" placeholder="Kullanıcı Adı">
                                </div>
                                <div class="form-group">
                                    <input type="password" class="form-control form-control-lg" id="exampleInputPassword1" name="password" placeholder="Şifre">
                                </div>
                                <div class="mt-3">
                                    <button class="btn btn-block btn-gradient-primary btn-lg font-weight-medium auth-form-btn" type="submit">Giriş yap</button>
                                </div>
                                <div class="my-2 d-flex justify-content-between align-items-center">
                                    <div class="form-check">
                                        <label class="form-check-label text-muted">
                                            <input type="checkbox" name="rememberMe" class="form-check-input">
                                            Beni Hatırla
                                        </label>
                                    </div>
                                    <a href="#" class="auth-link text-black">Şifremi Unuttum?</a>
                                </div>
                                <div class="text-center mt-4 font-weight-light">
                                    Henüz üyeliğiniz yok mu? <a href="{{route('userRegister')}}" class="text-primary">Kayıt Ol</a>
                                </div>
                            </form>
    Login Bölümü;

    public function UserLogin(){
            $this->validate(request(),[
                'username' => 'required',
                'password' => 'required'
            ]);
            if (auth()->attempt(['username'=>request('username'), 'password' => request('password')], request()->has('rememberMe')))
            {
                request()->session()->regenerate();
                return redirect()->intended('/user/index');
            }
            else
            {
                $errors = ['email' => 'Giriş Yapılamadı. Kullanıcı adı veya Şifreniz yanlış'];
                return back()->withErrors($errors);
            }
        }
    Kayıt Olma Bölümü;


    public function UserRegister()
        {
            $this->validate(request(),[
                'username' => 'required|min:5|max:50|unique:users',
                'email' => 'required|email|max:50|unique:users',
                'password' => 'required|min:5|max:30|confirmed',
                'phone' => 'required|min:11|unique:users'
            ]);
            $user = User::create([
                'username' => request('username'),
                'email' => request('email'),
                'password' =>Hash::make(request('password')),
                'balance' => 0,
                'phone' => request('phone'),
                'status' => 'Active'
            ]);
            auth()->login($user);
            return redirect('user/index');
        }
    Route Yapısı;

    Route::get('/', 'UserController@getUserLogin')->name('userLogin');
    Route::post('/', 'UserController@userLogin');
    Route::get('/register', 'UserController@getUserRegister')->name('userRegister');
    Route::post('/register', 'UserController@userRegister');
    Login bölümünde bilgiler doğru olmasına rağmen else'e düşüyor. Migrate yeniledim baştan kayıt aldım, composer outoload temizledim ama çözülmedi.
  • 04-01-2019, 20:28:36
    #2
    laravelin kendi auth sistemini kullanabilirsin

    php artisan make:auth
    php artisan migrate
    komutlarını konsoldan yazman yeterli

    https://laravel.com/docs/5.4/authentication
  • 04-01-2019, 20:39:56
    #3
    @OnurTasci;
    php artisan make:auth komutunu başarı ile çalıştırıldı,
    php artisan migrate komutunu daha önce çalıştırdığım için "Nothing to migrate." hatası verdi ver "php artisan migrate:fresh" komutunu çalıştırdım.
    Şuan " Route [userRegister] not defined. (View: C:xampphtdocsprojelermobilonayresourcesviewsfronte ndlogin.blade.php)" hatası alıyorum route'ları görmüyor.

    Not : Laravelin sitesinde
    " By default, Laravel uses the email field for authentication. If you would like to customize this, you may define a username method on your LoginController "
    yazıyor. Login fonksiyonunda username olarak kullanmam için
    User modelinde username olarak değiştirmem lazım.
    Password için : getAuthPassword ama email'i değiştirmek için hangi fonksiyon olduğunu bulamadım.

    Not2 :
    İlk komuttan sonra route dosyama

    Auth::routes();
    Route::get('/home', 'HomeController@index')->name('home');

    olarak 2 yeni satır eklenmiş silince "Route [userRegister] not defined. (View: C:xampphtdocsprojelermobilonayresourcesviewsfronte ndlogin.blade.php)" hatası düzeldi.

    @OnurTasci; Cevabınız için çok teşekkürler örnek kod verebilirsen çok sevinirim.
  • 05-01-2019, 19:49:05
    #4
    https://www.mobilhanem.com/laravel-d...avel-kurulumu/

    öncelikle buradan sıfırdan temiz bir laravel kurmanızı öneririm,
    laraveli kurduktan sonra

    php artisan make:auth
    php artisan migrate

    bu komutları konsoldan girerseniz login,register,şifremi unuttum gibi kullanıcı sistemleri hazır bir şekilde gelecektir
  • 05-01-2019, 20:07:13
    #5
    @OnurTasci; Yardımınız için teşekkürler hocam dün araştırıp dediğiniz gibi kurulumu gerçekleştirdim.
    Sorunum hala devam ediyor laravelin kayıtlı error mesajında " Girilmiş olan kullanıcı verileri sistemdekiler ile eşleşmemektedir." hatasını alıyorum.
    Auth içerisinde ki login formu;
    <form class="pt-3" method="post" action="{{url('/login')}}">
                                @include('errorPages.error')
                                {{csrf_field()}}
                                <div class="form-group">
                                    <input type="email" class="form-control form-control-lg" id="exampleInputEmail1" name="email" placeholder="Email Adresi">
                                </div>
                                <div class="form-group">
                                    <input type="password" class="form-control form-control-lg" id="exampleInputPassword1" name="password" placeholder="Şifre">
                                </div>
                                <div class="mt-3">
                                    <button class="btn btn-block btn-gradient-primary btn-lg font-weight-medium auth-form-btn" type="submit">Giriş yap</button>
                                </div>
                                <div class="my-2 d-flex justify-content-between align-items-center">
                                    <div class="form-check">
                                        <label class="form-check-label text-muted">
                                            <input type="checkbox" name="rememberMe" class="form-check-input">
                                            Beni Hatırla
                                        </label>
                                    </div>
                                    <a href="#" class="auth-link text-black">Şifremi Unuttum?</a>
                                </div>
                                <div class="text-center mt-4 font-weight-light">
                                    Henüz üyeliğiniz yok mu? <a href="{{url('/register')}}" class="text-primary">Kayıt Ol</a>
                                </div>
                            </form>
    Kayıt Formu;

    <form class="pt-3" action="{{url('/register')}}" method="post">
                                {{csrf_field()}}
                                <div class="form-group">
                                    <input type="text" class="form-control form-control-lg" id="exampleInputUsername1" maxlength="50" value="{{old('username')}}" name="username" placeholder="Kullanıcı Adı">
                                </div>
                                <div class="form-group">
                                    <input type="email" class="form-control form-control-lg" id="exampleInputEmail1" maxlength="50" value="{{old('email')}}" name="email" placeholder="Email">
                                </div>
                                <div class="form-group">
                                    <input type="password" class="form-control form-control-lg" id="exampleInputUsername1" maxlength="50" name="password" placeholder="Şifre">
                                </div>
                                <div class="form-group">
                                    <input type="password" class="form-control form-control-lg" id="exampleInputUsername1" maxlength="50" name="password_confirmation" placeholder="Şifre Tekrar">
                                </div>
                                <div class="form-group">
                                    <input type="text" class="form-control form-control-lg" id="exampleInputUsername1" maxlength="11" value="{{old('phone')}}" name="phone" placeholder="Telefon Numaranız">
                                </div>
                                <div class="mb-4">
                                    <div class="form-check">
                                        <label class="form-check-label text-muted">
                                            <input type="checkbox" name="contactCheck" class="form-check-input">
                                            Kullanıcı Sözleşmesini Kabul Ediyorum.
                                        </label>
                                    </div>
                                </div>
                                <div class="mt-3">
                                    <button class="btn btn-block btn-gradient-primary btn-lg font-weight-medium auth-form-btn" type="submit">Üye Ol</button>
                                </div>
                                <div class="text-center mt-4 font-weight-light">
                                    Zaten bir hesabın var mı? <a href="{{url('/login')}}" class="text-primary">Giriş Yap</a>
                                </div>
                            </form>
    App/Controllers/Auth Altında ki RegisterController;

    public function __construct()
        {
            $this->middleware('guest');
        }
    
        /**
         * Get a validator for an incoming registration request.
         *
         * @param  array  $data
         * @return IlluminateContractsValidationValidator
         */
        protected function validator(array $data)
        {
            return Validator::make($data, [
                'username' => ['required','min:5','max:50','unique:users'],
                'email' => ['required','email','max:50','unique:users'],
                'password' => ['required','min:5','max:30','confirmed'],
                'phone' => ['required','min:11','unique:users'],
                'contactCheck' => ['required']
            ]);
        }
    
        /**
         * Create a new user instance after a valid registration.
         *
         * @param  array  $data
         * @return AppUser
         */
        protected function create(array $data)
        {
            return User::create([
                'username' => $data['username'],
                'email' => $data['email'],
                'password' =>Hash::make($data['password']),
                'balance' => 0,
                'phone' => $data['phone'],
                'status' => 'Active'
            ]);
        }
    Login Controller;
        use AuthenticatesUsers;
    
        /**
         * Where to redirect users after login.
         *
         * @var string
         */
        protected $redirectTo = '/user/index';
    
        /**
         * Create a new controller instance.
         *
         * @return void
         */
        public function __construct()
        {
            $this->middleware('guest')->except('logout');
        }
    User Models;

    class User extends Authenticatable
    {
        use SoftDeletes;
        protected $fillable = [
            'username', 'email', 'balance', 'phone', 'status'
        ];
        protected $hidden = [
            'password', 'remember_token'
        ];
    
    }
    User Migration;

    public function up()
        {
            Schema::create('users', function (Blueprint $table) {
                $table->increments('id');
                $table->string('username', 50)->unique();
                $table->string('email', 50)->unique();
                $table->string('password',60);
                $table->float('balance',8)->default(0);
                $table->string('phone',11)->nullable();
                $table->string('status',7)->default('Active');
                $table->rememberToken();
                $table->timestamp('deleted_at');
                $table->timestamps();
            });
        }
    Kayıt işlemi yapılıyor ama login işleminde hata veriyor. form nameleri "email" ve "password" olarak ayarlı sorunu çözemedim.
    Birde bu User Modelde
    softdeletes ve notifiable kullanımı var bunlar auth kullanımında nasıl olması lazım bir bilgi bulamadım.
  • 06-01-2019, 01:17:17
    #6
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Mehmetmasa adlı üyeden alıntı: mesajı görüntüle
    Merhaba arkadaşlar, laravel ile kayıt işlemini yaptırıyorum ama login sorunum var.

    Kullanıcı Tablosu ;

    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('username', 50)->unique();
            $table->string('email', 50)->unique();
            $table->string('password',60);
            $table->float('balance',8)->default(0);
            $table->string('phone',11)->nullable();
            $table->string('status',7)->default('Active');
            $table->rememberToken();
            $table->timestamp('deleted_at');
            $table->timestamps();
        });
    }
    Login Formu:

    <form class="pt-3" method="post" action="{{route('userLogin')}}">
                                @include('errorPages.error')
                                {{csrf_field()}}
                                <div class="form-group">
                                    <input type="text" class="form-control form-control-lg" id="exampleInputEmail1" name="username" placeholder="Kullanıcı Adı">
                                </div>
                                <div class="form-group">
                                    <input type="password" class="form-control form-control-lg" id="exampleInputPassword1" name="password" placeholder="Şifre">
                                </div>
                                <div class="mt-3">
                                    <button class="btn btn-block btn-gradient-primary btn-lg font-weight-medium auth-form-btn" type="submit">Giriş yap</button>
                                </div>
                                <div class="my-2 d-flex justify-content-between align-items-center">
                                    <div class="form-check">
                                        <label class="form-check-label text-muted">
                                            <input type="checkbox" name="rememberMe" class="form-check-input">
                                            Beni Hatırla
                                        </label>
                                    </div>
                                    <a href="#" class="auth-link text-black">Şifremi Unuttum?</a>
                                </div>
                                <div class="text-center mt-4 font-weight-light">
                                    Henüz üyeliğiniz yok mu? <a href="{{route('userRegister')}}" class="text-primary">Kayıt Ol</a>
                                </div>
                            </form>
    Login Bölümü;

    public function UserLogin(){
            $this->validate(request(),[
                'username' => 'required',
                'password' => 'required'
            ]);
            if (auth()->attempt(['username'=>request('username'), 'password' => request('password')], request()->has('rememberMe')))
            {
                request()->session()->regenerate();
                return redirect()->intended('/user/index');
            }
            else
            {
                $errors = ['email' => 'Giriş Yapılamadı. Kullanıcı adı veya Şifreniz yanlış'];
                return back()->withErrors($errors);
            }
        }
    Kayıt Olma Bölümü;


    public function UserRegister()
        {
            $this->validate(request(),[
                'username' => 'required|min:5|max:50|unique:users',
                'email' => 'required|email|max:50|unique:users',
                'password' => 'required|min:5|max:30|confirmed',
                'phone' => 'required|min:11|unique:users'
            ]);
            $user = User::create([
                'username' => request('username'),
                'email' => request('email'),
                'password' =>Hash::make(request('password')),
                'balance' => 0,
                'phone' => request('phone'),
                'status' => 'Active'
            ]);
            auth()->login($user);
            return redirect('user/index');
        }
    Route Yapısı;

    Route::get('/', 'UserController@getUserLogin')->name('userLogin');
    Route::post('/', 'UserController@userLogin');
    Route::get('/register', 'UserController@getUserRegister')->name('userRegister');
    Route::post('/register', 'UserController@userRegister');
    Login bölümünde bilgiler doğru olmasına rağmen else'e düşüyor. Migrate yeniledim baştan kayıt aldım, composer outoload temizledim ama çözülmedi.
    Merhaba kullanıcı tablosunu kontrol ettiniz mi? Özellikle deleted_at kolonunu? Bu arada manuel column oluşturmayın. $table->softDeletes() kullanın.

    https://laravel.com/docs/5.7/eloquent#soft-deleting
    https://laravel.com/docs/5.7/notifications
  • 06-01-2019, 01:22:48
    #7
    @AndyCap; Merhaba "$table->softDeletes() " bilgisi için teşekkürler. Auth kurulumunda "/login" olarak geliyor ben "/" anadizinden işlem yapmak istediğim için hata alıyorum. Şuan sıfırdan auth kurulumunda çalışıyor sanırım Route yapısından kaynaklı bir hataymış