login tidak bisa submit?

<?php
defined('BASEPATH') or exit('No direct script access allowed');

class Auth extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        $this->load->library('form_validation');
    }

    //login
    public function index()
    {
        $this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email|');
        $this->form_validation->set_rules('password', 'Password', 'trim|required');

        if ($this->form_validation->run($this) == false) {
            $data['title'] = 'Login Page';
            $this->load->view('templates/auth_header', $data);
            $this->load->view('auth/login');
            $this->load->view('templates/auth_footer');
        } else {
            //validasinya sukses
            $this->_login();
        }
    }

    private function _login()
    {
        $email = $this->input->post('email');
        $password = $this->input->post('password');

        $user = $this->db->get_where('user', ['email' => $email])->row_array();

        //jika usernya ada
        if ($user) {
            //jika usernya aktif
            if ($user['is_active'] == '1') {
                //cek password
                if (password_verify($password, $user['password'])) {
                    $data = [
                        'email' => $user['email'],
                        'role_id' => $user['role_id'],
                    ];
                    $this->session->set_userdata($data);
                    redirect('user');
                } else {
                    $this->session->set_flashdata('message', '<div class="alert alert-success" role="alert">
            Selamat! Akun anda telah terdaftar. Silahkan masuk!  </div>');
                    redirect('auth');
                }
            }
        }
    }

SharedScreenshot.jpg89.29 KB

    <div class="container">

        <!-- Outer Row -->
        <div class="row justify-content-center">

            <div class="col-lg-5">

                <div class="card o-hidden border-0 shadow-lg my-5">
                    <div class="card-body p-0">
                        <!-- Nested Row within Card Body -->
                        <div class="row">
                            <div class="col-lg">

                                <div class="p-5">
                                    <div class="text-center">
                                        <img src="<?= base_url() ?>assets/img/pmii.png" alt="">
                                        <h1 class="h4 text-gray-900">Sistem Informasi</h1>
                                    </div>
                                    <?= $this->session->flashdata('message'); ?>

                                    <form class="user" method="post" action="<?= base_url('auth'); ?>">
                                        <div class="input-group mb-3">
                                            <input type="email" class="form-control" placeholder="Email" id="email" name="email">
                                            <?= form_error('email', '<small class="text-danger ">', '</small>'); ?>
                                            <div class="input-group-append">
                                                <div class="input-group-text">
                                                    <span class="fa fa-envelope faa-vertical animated"></span>
                                                </div>
                                            </div>
                                        </div>

                                        <div class="input-group mb-3">
                                            <input type="password" class="form-control" placeholder="Password" id="password" name="password">
                                            <div class="input-group-append">
                                                <div class="input-group-text">
                                                    <span class="fa fa-key faa-pulse faa-shake animated"></span>
                                                </div>
                                            </div>
                                        </div>

                                        <br>
                                        <div class="row">
                                            <div class="col-12">
                                                <button name="login" type='submit' class="btn btn-primary btn-block"><i class="fa fa-sign-in"></i> Masuk</button>

                                                <a href="login" class="btn btn-success btn-block"><i class="fa fa-user"></i> Login Admin</a>
                                            </div>
                                        </div>
                                        </a>
                                    </form>
                                    <hr>
                                    <div class="text-center">
                                        <a class="small" href="forgot-password.html">Forgot Password?</a>
                                    </div>
                                    <div class="text-center">
                                        <a class="small" href="register.html">Create an Account!</a>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>

            </div>

        </div>

    </div>
avatar fahmihabibie
@fahmihabibie

2 Kontribusi 0 Poin

Diperbarui 2 tahun yang lalu

1 Jawaban:

<div>Kalo saya biasa buat seperti ini :</div><pre>&lt;?php defined('BASEPATH') or exit('No direct script access allowed');

class Authentication extends CI_Controller {

public function __construct()
{
	parent::__construct();
	$this-&amp;gt;load-&amp;gt;library(&#039;main_lib&#039;);
	$this-&amp;gt;main_lib-&amp;gt;createFirstUser();
}

public function index()
{
	if(isAuthenticated()) {
		redirect(&#039;dashboard&#039;);
	}

	if (isset($_POST[&#039;login&#039;])) {
		$rules = [
			[
				&#039;field&#039; =&amp;gt; &#039;username&#039;,
				&#039;label&#039; =&amp;gt; &#039;Username / Email&#039;,
				&#039;rules&#039; =&amp;gt; &#039;required&#039;
			],
			[
				&#039;field&#039; =&amp;gt; &#039;password&#039;,
				&#039;label&#039; =&amp;gt; &#039;Password&#039;,
				&#039;rules&#039; =&amp;gt; &#039;required&#039;
			],
			[
				&#039;field&#039; =&amp;gt; &#039;level&#039;,
				&#039;label&#039; =&amp;gt; &#039;Level&#039;,
				&#039;rules&#039; =&amp;gt; &#039;required&#039;
			]
		];
		$this-&amp;gt;form_validation-&amp;gt;set_rules($rules);
		$this-&amp;gt;form_validation-&amp;gt;set_error_delimiters(&quot;&amp;lt;p class=&#039;text-danger&#039;&amp;gt;&quot;, &quot;&amp;lt;/p&amp;gt;&quot;);

		if ($this-&amp;gt;form_validation-&amp;gt;run() === FALSE) {
			$this-&amp;gt;load-&amp;gt;view(&#039;auth/login-form&#039;);
		} else {
			$username = $this-&amp;gt;input-&amp;gt;post(&#039;username&#039;, true);
			$password = $this-&amp;gt;input-&amp;gt;post(&#039;password&#039;, true);
			$level = $this-&amp;gt;input-&amp;gt;post(&#039;level&#039;, true);

			$credentials = [
				&#039;username&#039; 	=&amp;gt; $username,
				&#039;level&#039;		=&amp;gt; $level,
				&#039;password&#039; 	=&amp;gt; $password
			];

			$login = $this-&amp;gt;Auth-&amp;gt;login($credentials);

			if ($login) {
				redirect(base_url(&#039;dashboard&#039;));
			} else {
				$this-&amp;gt;session-&amp;gt;set_flashdata(&#039;message&#039;, [
					&#039;type&#039; =&amp;gt; &#039;error&#039;,
					&#039;text&#039; =&amp;gt; &#039;Oops! Username atau Password Anda salah!&#039;
				]);
				redirect(base_url());
			}
		}

	} else {
		$this-&amp;gt;load-&amp;gt;view(&#039;auth/form-login&#039;);
	}
}

}</pre><div><br>Modelnya seperti ini :</div><pre>&lt;?php | defined('BASEPATH') OR exit('No direct script access allowed'); |

| class Auth_model extends User_model { |

| protected $table = "pengguna"; |

| public function login($credentials) | { | $sql = $this-&gt;db-&gt;get_where($this-&gt;table, [ | 'email' =&gt; $credentials['email'] | ]); | $check = $sql-&gt;num_rows(); |

| if($check &gt; 0) { | $data = $sql-&gt;row(); | $validate = password_verify($credentials['password'], $data-&gt;password); |

| if($validate === TRUE) { | $this-&gt;session-&gt;set_userdata("user", $data); | $this-&gt;session-&gt;set_userdata("is_logged_in", TRUE); | return true; | } else { | return false; | } | } else { | return false; | } | } }</pre><div><br>Jadi, gunakan $_POST untuk mengecek apakah ada user sudah klik button submig atau belum.</div>

avatar ahanafi
@ahanafi

815 Kontribusi 552 Poin

Dipost 2 tahun yang lalu

Login untuk ikut Jawaban