Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja

Stuck pada saat ingin menampilkan data

Saya mengikuti kelas pembuatan form login php tapi stuck pada saat ingin menampilkan data yang telah dilogin adakah yang bisa membantu saya?

//untuk login.php
<?php
    require_once 'core/init.php';

    $errors = array();

    if( Input::get('submit') ){

        //1. mengambil objek validasi
        $validation = new Validation();

        //2. metode check
        $validation = $validation->check(array(
            'username' => array( 'required' => true ),
            'password' => array( 'required' => true )
        ));

        //3. lolos ujian
        if ( $validation->passed() ) {

            if( $user->login_user( Input::get('username'), Input::get('password') ) )
            {
                Session::set('username', Input::get('username'));
                header('Location: profile.php');
            }else{
                $errors[] = 'login gagal';
            }

        }else{
            $errors = $validation->errors();
        }

    }

    require_once 'templates/header.php';
?>

<h2>Login Di Sini</h2>

<form action="login.php" method="post">
    <label>Username</label>
    <input type="text" name="username"> <br>

    <label>Password</label>
    <input type="password" name="password"> <br>

    <input type="submit" name="submit" value="login sekarang">

    <?php if(!empty($errors)){ ?>
        <div id="errors">
            <?php foreach ($errors as $error){ ?>
                <li> <?php echo $error; ?> </li>
            <?php } ?>
        </div>
    <?php } ?>

</form>

<?php require_once 'templates/footer.php'; ?>

//untuk login.php

untuk user.php
<?php

class User{

    private $_db;

    public function __construct()
    {
        $this->_db = Database::getInstance();
    }

    public function register_user($fields = array())
    {
        if( $this->_db->insert('users', $fields) ) return true;
        else return false;
    }

    public function login_user($username, $password)
    {
        $data = $this->_db->get_info('users', 'username', $username);

        if(password_verify($password, $data['password']) )
            return true;
        else return false;
    }

}

?>

//untuk user.php

//untuk database.php
<?php

class Database{

    private static $INSTANCE = null;
    private $mysqli,
            $HOST = 'localhost',
            $USER = 'root',
            $PASS = '',
            $DBNAME = 'tutorial';

    public function __construct()
    {
        $this->mysqli = new mysqli( $this->HOST, $this->USER, $this->PASS, $this->DBNAME );
        if( mysqli_connect_error() ){
            die('gagal koneksinya');
        }
    }

    /*
        singleton pattern,
        menguji koneksi agar tidak double
    */
    public static function getInstance()
    {
        if( !isset( self::$INSTANCE ) ){
            self::$INSTANCE = new Database();
        }

        return self::$INSTANCE;
    }

    public function insert($table, $fields = array())
    {
        //mengambil kolom
        $column = implode(",", array_keys($fields));

        //mengambil nilai
        $valueArray = array();
        $i = 0;
        foreach ($fields as $key=>$values){
            if( is_int($values) ){
                $valueArray[$i] = $this->escape($values) ;
            }else{
                $valueArray[$i] = "'" . $this->escape($values) . "'";
            }

            $i++;
        }
        $values = implode(", ", $valueArray);

        $query = "INSERT INTO $table ($column) VALUES ($values)";

        return $this->run_query($query, 'masalah saat memasukan data');
    }

    public function get_info($table, $column, $value)
    {
        if( !is_int($value) )
            $value = "'" . $value . "'";

        $query  = "SELECT * FROM $table WHERE $column = $value";
        $result = $this->mysqli->query($query);
        while($row = $result->fetch_assoc()) {
            return $row;
        }
    }

    public function run_query($query, $msg)
    {
        if($this->mysqli->query($query)) return true;
        else die($msg);
    }

    public function escape($name){
        return $this->mysqli->real_escape_string($name);
    }

}
?>

//untuk database.php

avatar devaracopocopo
@devaracopocopo

1 Kontribusi 0 Poin

Dipost 4 tahun yang lalu

Tanggapan

errornya apa?

Belum ada Jawaban. Jadi yang pertama Jawaban

Login untuk ikut Jawaban