ini kok saya tidak muncul di database(phpmyadmin nya) padahal sudah sukses,kode nya

<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- Bootstrap CSS -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">

    <title>Hello, world!</title>
  </head>
  <body>
    <div class="container">
        <form method="post">

            <div class="form-group">
                <label for="">Nama</label>
                <input type="text" name="nama" class="form-control">
            </div>
            <div class="form-group">
                <label for="">Username</label>
                <input type="text" name="username" class="form-control">
            </div>
            <div class="form-group">
                <label for="">Password</label>
                <input type="password" name="password1" class="form-control">
            </div>
            <div class="form-group">
                <label for="">Konfirmasi Password</label>
                <input type="password" name="password2" class="form-control">
            </div>
            <button type="submit" name="btnregister" class="btn btn-primary">
                Register
            </button>
            <button type="reset" class="btn btn-danger">
                reset
            </button>
        </form>
    
    <?php
    $nama = " ";
$username = " ";
$errors = array();

$db = mysqli_connect('localhost', 'root', '', 'latihanphpmysql');
    if(isset($_POST['btnregister'])) {
        $nama = mysqli_real_escape_string($db ,$_POST['nama']);
        $username = mysqli_real_escape_string($db ,$_POST['username']);
        $password1 = mysqli_real_escape_string($db ,$_POST['password1']);
        $password2 = mysqli_real_escape_string($db ,$_POST['password2']);
        
        if($password1 == $password2){
            $password = md5($password1);
    $sql =("INSERT INTO registerloginlogout (nama,username, password) VALUES('','$nama','$username','$password1')");
            echo "<div class='alert alert-success'>Register sukses,silahkan login kembali</div>";
            echo"<meta http-equiv='refresh' content='1;url=index.php'>";
        }elseif($password1 !== $password2){
            echo "<div class='alert alert-danger'>Register gagal,silahkan cek kembali kedua password tadi</div>";
            echo"<meta http-equiv='refresh' content='1;url=register.php'>";
        }
    }
    ?>
    </div
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js" integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.min.js" integrity="sha384-cVKIPhGWiC2Al4u+LWgxfKTRIcfu0JTxR+EQDz/bgldoEyl4H0zUF0QKbrJ0EcQF" crossorigin="anonymous"></script>
  </body>
</html>
avatar renaldi_xirplc_cpo47

@renaldi_xirplc_cpo47

1 Kontribusi 0 Poin


Jawaban

kurang dibagian query SQLnya mas, disini:
$sql =("INSERT INTO registerloginlogout (nama,username, password) VALUES('','$nama','$username','$password1')");
pada script itu, variabel sql hanya string biasa, tidak diperintah sebagai query untuk database.

conclusion:
modify script query diatas menjadi
$sql = mysqli_query($db, "INSERT INTO ....");
avatar kevindwiputra

@kevindwiputra

4 Kontribusi 3 Poin


Coba diubah bagian ini :
if($password1 == $password2){
            $password = md5($password1);
    $sql =("INSERT INTO registerloginlogout (nama,username, password) VALUES('','$nama','$username','$password')");
            echo "<div class='alert alert-success'>Register sukses,silahkan login kembali</div>";
            echo"<meta http-equiv='refresh' content='1;url=index.php'>";
        }elseif($password1 !== $password2){
            echo "<div class='alert alert-danger'>Register gagal,silahkan cek kembali kedua password tadi</div>";
            echo"<meta http-equiv='refresh' content='1;url=register.php'>";
        }
menjadi seperti ini :
if($password1 == $password2){
    $password = md5($password1);
    
    $sql = mysqli_query($db, "INSERT INTO registerloginlogout (nama,username, password) VALUES('$nama','$username','$password1')");
        echo "<div class='alert alert-success'>Register sukses,silahkan login kembali</div>";
        echo"<meta http-equiv='refresh' content='1;url=index.php'>";
    
    //Memastikan query berhasil dieksekusi
    if($sql) {
        echo "BERHASIL DAFTAR";
    } else {
        echo "GAGAL DAFTAR. <br>";
        // Tampilkan error yang dihasilkan dari kegagalan ketika mengeksekusi query
        echo "Error: " . mysqli_error($db); 
    }

}else {
    echo "<div class='alert alert-danger'>Register gagal,silahkan cek kembali kedua password tadi</div>";
    echo"<meta http-equiv='refresh' content='1;url=register.php'>";
}

Ohh iya pastikan nama kolom database yang kamu definisikan di query dengan value yang kamu isi itu sudah sesuai ya jumlahnya. Maksudnya adalah bagian seperti ini :
INSERT INTO tablename (col1, col2, col3) VALUES ('val1', 'val2', 'val3');

Semoga berhasil.
avatar ahanafi

@ahanafi

760 Kontribusi 498 Poin


Coba periksa pada baris :
$sql =("INSERT INTO registerloginlogout (nama,username, password) VALUES('','$nama','$username','$password1')");
Atau lebih tepatnya pada :
(nama,username, password) VALUES('','$nama','$username','$password1')
di table cuma ada nama, username sama password, jadi di values nya juga harusnya kamu isi dengan 3 variable itu saja sehingga kode menjadi :

(nama,username, password) VALUES('$nama','$username','$password1')

dan juga kode diatas baru untuk menuliskan querynya, belum mengeksekusi query sehingga ubah kode nya menjadi :

$sql = mysqli_query($db, "INSERT INTO registerloginlogout (nama,username, password) VALUES('$nama','$username','$password1')");

Semoga membantu
avatar xasuke27

@xasuke27

7 Kontribusi 0 Poin


Login untuk gabung berdiskusi