PHP
Pada artikel ini saya akan membagi tahu kamu bagaimana cara buat form registrasi dan login menggunakan PHP pastikan kamu sudah mempunyai pemahaman dasar PHP agar bisa lebih lanjut membaca artikel ini. Simak saja langsung di bawah!
Pendahuluan
Kita tahu bahasa pemrograman PHP itu hanya untuk di gunakan membangun website saja hal ini cocok bagi kamu yang ingin jadi web developer atau programmer web jika kamu ingin menggunakan bahasa pemrograman PHP pastikan kamu sudah tahu teknologi web seperti html, css, javascript(opsional). Nah sesuai yang saya bilang di atas tadi pada artikel ini saya akan buat form registrasi dan juga form login ini juga semoga bisa jadi referensi belajar bahasa pemrograman PHP kamu jangan lupa ya nyalakan web server nya pada software XAMPP.
Buat Form Registrasi
Nah pertama kamu buat file registrasi.php copy dan paste kode di bawah ini :
<?php
//koneksi kan database
include_once 'database.php';
//cek jika user sudah menekan tombol registrasi
if(isset($_POST["registrasi"])){
//maka user baru berhasil di tambahkan
if(registrasi($_POST)>0){
echo "
<script>
alert('User baru berhasil di tambahkan, silakan login terlebih dahulu!');
document.location.href='login.php';
</script>
";
//selain user belum mendaftar
}else{
//maka user gagal di tambahkan
echo "
<script>
alert('User baru gagal di tambahkan!');
document.location.href='registrasi.php';
</script>
";
}
}
?>
<html>
<head>
<title>Registrasi</title>
</head>
<body>
<!-- Buat form-->
<form method="post">
<!-- Buat label dan inputan username-->
<label for="username">Username :</label>
<input type="text" id="username" name="username" autocomplete="off" maxlength="16" required>
<br>
<!-- Buat label password dan inputan password-->
<label for="password">Password :</label>
<input type="password" id="password" name="password" autocomplete="off" required>
<br>
<!-- Buat konfirmasi password-->
<label for="password2">Konfirmasi Password : </label>
<input type="password" id="password2" name="password2" autocomplete="off" required>
<br>
<!-- Buat tombol apakah user pria-->
<label for="pria">Pria</label>
<input type="radio" id="pria" name="jenis_kelamin" value="pria" required>
<!-- Buat tombol apakah user perempuan-->
<label for="perempuan">Perempuan</label>
<input type="radio" id="perempuan" name="jenis_kelamin" value="perempuan" required>
<br>
<!-- Berikan petunjuk jika user sudah punya akun untuk login-->
<a href="login.php">Sudah Pernah Login? Login!</a>
<br>
<!-- Buat tombol kirim-->
<button type="submit" name="registrasi">Kirim!</button>
</form>
</body>
</html>
Buat login
Kedua kamu buat file login.php copy dan paste kode di bawah ini :
<?php
//buat sesi untuk mengizinkan dahulu agar bisa masuk ke halaman utama
session_start();
//koneksi kan database
include_once 'database.php';
//cek jika user menekan tombol login
if(isset($_POST["login"])){
$username = mysqli_real_escape_string($conn, $_POST["username"]);
$password = mysqli_real_escape_string($conn, $_POST["password"]);
// variabel $result untuk menyiapkan data username pada user ketika user benar memasukkan username
$result = mysqli_query($conn, "SELECT * FROM users_blog WHERE username = '$username'");
//jika username benar ataupun data dari database ada
if(mysqli_num_rows($result) === 1){
//ambil data dari database pada variabel $result
$row = mysqli_fetch_assoc($result);
//cek jika password valid
if(password_verify($password, $row["password"])){
// maka set session
$_SESSION["login"]=true;
// dan pindahkan user ke halaman utama
header("Location: index.php");
// selain user salah memasukkan password
}else{
//Maka lemparkan kesalahan berikut
echo "<script>
alert('Maaf login anda salah!');
document.location.href='login.php';
</script>";
}
//jika tidak ada username dan password yang benar (kedua nya salah)
}if(mysqli_num_rows($result) === 0){
// maka lemparkan kesalahan berikut
echo "<script>
alert('Maaf login anda salah!');
document.location.href='login.php';
</script>";
}
}
?>
<html>
<head>
<title>Login</title>
</head>
<body>
<!-- Buat form-->
<form method="post">
<!-- Buat label dan inputan username-->
<label for="username">Username :</label>
<input type="text" id="username" name="username" autocomplete="off" required>
<br>
<!-- Buat label password dan inputan password-->
<label for="password">Password :</label>
<input type="password" id="password" name="password" autocomplete="off" required>
<br>
<!-- Berikan petunjuk jika user belum registrasi-->
<a href="registrasi.php">Belum Registrasi? Registrasi!</a>
<br>
<!-- Buat tombol kirim-->
<button type="submit" name="login">Login!</button>
</form>
</body>
</html>
Buat Halaman Utama
Ketiga kamu buat file index.php hal ini agar bisa menunjukkan user itu sudah masuk ke halaman utama :
<?php
//buat sesi untuk mengizinkan dahulu agar bisa masuk ke halaman utama
session_start();
//koneksi kan database
include_once 'database.php';
//jika tombol login belum di tekan
if(!isset($_SESSION["login"])){
//maka paksa user tetap berada ke halaman login
header("Location: login.php");
exit;
}
// untuk menampilkan username pada halaman utama
$query = mysqli_query($conn, "SELECT * FROM users_blog");
while($row = mysqli_fetch_assoc($query)){
$user = $row['username'];
}
?>
<html>
<head>
<title>Halaman Utama</title>
</head>
<body>
<!-- Tampilkan user-->
<p>Selamat datang <?php echo $user; ?></p>
</body>
</html>
Buat Database
Terakhir kamu harus buat file database nya dan ini juga nanti ada kode function nya kamu buat dengan nama database.php copy dan paste kode di bawah ini :
<?php
//koneksi kan database
$conn = mysqli_connect("localhost", "root", "", "blog");
//registrasi
function registrasi($data){
//fungsi global agar menangkap variabel global ($conn)
global $conn;
//ambil data dari form registrasi
$username = stripslashes(mysqli_real_escape_string($conn, $data["username"]));
$jenis_kelamin = $data["jenis_kelamin"];
$password = mysqli_real_escape_string($conn, $data["password"]);
$password2 = mysqli_real_escape_string($conn, $data["password2"]);
//cek username sudah ada atau belum dalam database
$result = mysqli_query($conn, "SELECT username FROM users_blog WHERE username = '$username'");
//jika pengambilan data dari database dalam fungsi mysqli_fetch_assoc itu sudah ada di database
if(mysqli_fetch_assoc($result)){
// maka berikan pesan berikut
echo "
<script>
alert('Username sudah terdaftar!');
</script>
";
return false;
}
//cek jika konfirmasi password tidak sesuai
if($password!==$password2){
// maka lemparkan pesan kesalahan berikut
echo "<script>
alert('Konfirmasi password tidak sesuai!');
</script>";
return false;
}
// enkripsi password
$password = password_hash($password, PASSWORD_DEFAULT);
//tambahkan user baru ke database
mysqli_query($conn, "INSERT INTO users_blog VALUES('', '$username', '$password', '$jenis_kelamin')");
//kembalikan data yang terpengaruh dan tambahkan ke database
return mysqli_affected_rows($conn);
}
?>
Penutup
Nah itulah yang bisa saya bagikan ke kamu bagaimana cara buat registrasi dan login pada PHP kode di atas bisa kamu edit lagi. Semoga bermanfaat :D
0 Komentar