Membuat User Registration PHP dan MYSQL
Mengapa user registration tidak bisa dibuat dan selalu mengeluarkan notifikasi seperti ini "Database error: failed to register" ? Apakah ada yang salah dengan kodingan saya ?
file koneksi.php
file controller.php
file register.php
file index.php
Mohon bantuannya;) ...
file koneksi.php
<?php define('DB_HOST', 'localhost'); define('DB_USER', 'root'); define('DB_PASS', ''); define('DB_NAME', 'user-verification'); $conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME); if($conn -> connect_error){ die("Database error:" . $conn -> connect_error); }
file controller.php
<?php session_start(); require "koneksi.php"; $errors = array(); $username = ""; $email = ""; if (isset($_POST["register"])){ $username = $_POST['username']; $email = $_POST['email']; $password = $_POST['password']; $password_konfirm = $_POST['password_konfirm']; if (empty($username)) { $errors['username'] = "Membutuhkan username!"; }if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $errors['email'] = "email yang dimasukkan invalid!"; }if (empty($email)) { $errors['email'] = "Membutuhkan email!"; }if (empty($password)) { $errors['password'] = "Membutuhkan password!"; }if ($password !== $password_konfirm) { $errors['password'] = "password dan password konfirmasi tidak sama!"; } $emailQuery ="SELECT * FROM users WHERE email=? LIMIT 1"; $stmt = $conn->prepare($emailQuery); $stmt->bind_param('s', $email); $stmt->execute(); $result = $stmt->get_result(); $userCount = $result->num_rows; $stmt->close(); if ($userCount > 0) { $errors['email'] = "Email sudah ada"; } if (count($errors) === 0) { $password = password_hash($password, PASSWORD_DEFAULT); $token = bin2hex(random_bytes(50)); $verified = false; $sql = "INSERT INTO users (username, email, verified, token, password) VALUES (?, ?, ?, ?, ?)"; $stmt = $conn->prepare($sql); $stmt->bind_param('ssbss', $username, $email, $verified, $token, $password); if ($stmt->execute()){ $user_id = $conn->insert_id; $_SESSION['id'] = $user_id; $_SESSION['username'] = $user_username; $_SESSION['email'] = $user_email; $_SESSION['verified'] = $user_verified; $_SESSION['message'] = "Silahkan login sekarang!"; $_SESSION['alert-class'] = "alert-success"; header('location: index.php'); exit(); }else { $errors['db_error'] = "Database error: failed to register"; } } } ?>
file register.php
<?php require_once "header.php"; ?> <?php require "controller.php"; ?> <div class="container"> <div class="row"> <div class="col-md-8 offset-md-2"> <div class="card"> <div class="card-header bg-info"> <h3 class="display-4 text-light">Daftar</h3> </div> <div class="card-body"> <?php if(count($errors) > 0): ?> <div class="alert alert-danger"> <?php foreach($errors as $error){ ?> <li><?php echo $error; ?></li> <?php } ?> </div> <?php endif; ?> <form action="register.php" method="POST"> <div class="form-group"> <label>Username</label> <input type="text" name="username" value="<?php echo $username; ?>" class="form-control form-control-lg"> </div> <div class="form-group"> <label>Email</label> <input type="email" name="email" value="<?php echo $email; ?>" class="form-control form-control-lg"> </div> <div class="form-group"> <label for="password">Password</label> <input for="password" type="password" name="password" class="form-control form-control-lg"> </div> <div class="form-group"> <label>Password Konfirmasi</label> <input type="password" name="password_konfirm" class="form-control form-control-lg"> </div> <div class="form-group"> <button type="submit" name="register" class="btn btn-info btn-block btn-md">Daftar</button> </div> <p class="text-small">Sudah memiliki akun? <a href="login.php">Login</a></p> </form> </div> </div> </div> </div> </div> <?php require_once "footer.php"; ?>
file index.php
<?php require_once "header.php"; ?> <?php require "controller.php"; ?> <div class="container"> <div class="row"> <div class="col-md-8 offset-md-2"> <div class="card border-secondary"> <div class="card-body"> <div class='alert <?php echo $_SESSION['alert-class']; ?>' > <?php echo $_SESSION['message'] ?> </div> <h2 class="display-3 mb-4">Selamat Datang, <?php echo $_SESSION['username']; ?> </h2> <a href="#" class="text-danger">logout</a> <?php if(!$_SESSION['verified']): ?> <div class="alert alert-warning mt-4"> Anda perlu memverifikasi akun Anda. Dengan asuk ke akun email Anda dan klik tautan verifikasi yang baru saja kami kirimi Anda email di <strong>[email protected]</strong> </div> <button type="button" class="btn btn-block btn-lg btn-success mt-4">Saya sudah verifikasi!</button> <?php endif; ?> </div> </div> </div> </div> </div> <?php require_once "footer.php"; ?>
Mohon bantuannya;) ...
15 Kontribusi 2 Poin
atau respon:
Jawaban
Belum ada Jawaban, jadi yang pertama
Login untuk gabung berdiskusiPertanyaan Lainnya
Top Kontributor
- @ahanafi
813 Kontribusi 551 Poin
- @Nandar
647 Kontribusi 204 Poin
- @dianarifr
642 Kontribusi 316 Poin
- @Saputroandhi
509 Kontribusi 162 Poin
- @dodipsitorus
412 Kontribusi 145 Poin