Advertisement
PHP

Cara Membuat Form Register Sederhana Dengan PHP dan MYSQL

Nah kali ini saya mau menulis tutorial tentang bagaimana cara membuat form register dengan php dan mysql.

Tidak usah panjang lebar, langsung aja kepenjelasan. Saya anggap kamu sudah mengerti apa yang di maksud dengan form register.

Ok, pertama kita buat dulu databasenya. Saya memberi nama databasenya login. Kemudian masukan script berikut.

CREATE TABLE IF NOT EXISTS `users` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `username` varchar(50) NOT NULL,
 `password` varchar(150) NOT NULL,
 `confirm` varchar(150) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=21 ;

Kemudian agar program bisa terkoneksi dengan database, buat file db.php dengan berisikan script berikut.

<?php $host = "localhost"; $user = "root"; $pass = ""; $dbname = "login"; mysql_connect ($host, $user, $pass) or die ("Tidak bisa konek dengan database".mysql_error); mysql_select_db ($dbname) or die ("Gagal membuka database".mysql_error); ?>

Nah untuk Sekarang kita buat form registrasinya. Buat file dengan nama register.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Register</title>
</head>

<body>
<form action="reg_act.php" method="post">
<div> Username :</div>
<input name="username" type="text" />
<div> Password :</div>
<input name="password" type="password" />
<div>Confirm Password :</div>
<input name="confirm" type="password" />
<input type="submit" value="Register" />
</form>
</body>
</html>

Sekarang kita masuk ke tahap untuk action programnya. Buat file dengan nama reg_act.php

<?php include "db.php"; $username = addslashes(strip_tags ($_POST['username'])); $password = addslashes(strip_tags ($_POST['password'])); $confirm = addslashes(strip_tags ($_POST['confirm'])); //script ini untuk mengecek apakah form sudah terisi semua if ($username&&$password&&$confirm) { //berfunsgi untuk mengecek form tidak boleh lebih dari 10 if (strlen($username) > 10){
	echo "username tidak boleh lebih dari 10 karakter";
}
else {
	//password harus 6-25 karakter
	if (strlen($password) > 25 || strlen($confirm) < 6){
		echo "Password harus antara 6-25 karakter";
	}
	else {
	//untuk mengecek apakah form password dan form konfirmasi password sudah sama
		if ($password == $confirm){
			$sql_get = mysql_query ("SELECT * FROM users WHERE username = '$username'");
			$num_row = mysql_num_rows($sql_get);
		//fungsi script ini adalah untuk mengecek ketersediaan username, jika tidak tersedia maka program akan berjalan
			if ($num_row ==0) {
				$password = md5($password);
				$confirm = md5($confirm);
				$sql_insert = mysql_query("INSERT INTO users VALUES ('','$username','$password','$confirm')");
				echo "Pendaftaran berhasil. Login <a href='login.php'>disini</a>";
			}
			else {
				echo "Username sudah terdaftar";
			}
		}	else {
			echo "Password yang kamu masukan tidak sama!";
			}
		}
	}
} else {
echo "Tolong penuhi form pendaftaran!";
}
?>

Kamu bisa melihat demonya disini.

Jika dirasa ada yang kurang jelas dan ada yang ingin ditanyakan, silahkan tuliskan pertanyaanmu di kolom komentar, jika memungkinkan, kami akan menjawab komentarmu sesegera mungkin,

Sekian dulu ya, lanjut pada artikel berikutnya pada pembuatan form login dengan php dan mysql.

Salam.

Editorial Team

Editorial Team adalah mereka yang menulis artikel untuk blog PinDexain.

Related Stories

32 Responses to Cara Membuat Form Register Sederhana Dengan PHP dan MYSQL

  1. Mantap bro. !!

  2. wah keren tapi aku kurang mengerti mengenai MySQl itu hehehe

  3. Gan, gmn ya cara mendecrypt biar jadi md5 password db nya
    Misalnya:

    $host = “localhost”;
    $user = “root”;
    $pass = “1234567”;
    $dbname = “login”;

    1234567 kan sama dengan fcea920f7412b5da7be0cf42b8c93759 (md5)
    jadi:

    $host = “localhost”;
    $user = “root”;
    $pass = “fcea920f7412b5da7be0cf42b8c93759”;
    $dbname = “login”;

    gimana caranya biar seperti itu gan?
    Terima kasih sebelumnya 🙂

    • Gak bisa bro.. Untuk membalikan hash md5 itu hrus menggunakan software cracker.
      Penggunaan MD5 disni cuma bisa digunakan untuk membandikan yg tersimpan di database.
      Untuk password DB saya jarang melihat ada yang menggunakan MD5, wordpress dn joomla pun juga jarang.. Salam 🙂

  4. cuma mau saran, boleh kan? hha
    jangan cuma encrypt pada password ori, baiknya tambahkan string lagi.
    contoh: password=12345 string=abc
    maka md5(password.”.string) dan kl bisa string pada setiap member berbeda.
    dan encrypt itu bukan cuma md5, kombinasikan dgn encrypt lainnya.
    contoh md5(sha(string)).

  5. tq bro, login gw udah bener . bingung nih dari tadi, baru tau kalo pake if itu harus nentuin row 😀

  6. Mau Dong saya di ajari Buat nya 😀
    Kasih Screen Shot/video biar mudeng

  7. Warning: mysql_query(): Access denied for user ‘root’@’localhost’ (using password: NO) in /home/u113790738/public_html/register.php on line 10 Warning: mysql_query(): A link to the server could not be established in /home/u113790738/public_html/register.php on line 10 itu gima gan tolong bantuannya>…

  8. gk ada bug nya nih sob, :DDDD

  9. om kalo ngebuat 2 domain tapi databasenya 1 gimana?
    *domain kesatu punya data base, dan domain kedua make databasenya dimain kesatu… pas ane coba ga bisaa.. mohon pencerahannya

  10. om yang sql insertnya nggak bisa ?

  11. Makasih ya bang. Register punya saya dah bisa diproses 😀

  12. Gan kok ane coba gk masuk ke Database nya yah?

  13. aku udah berhasil, mantep lahhh (y) 😀

  14. trimakasih kang,

    ini tutorial yang saya cari cari.

    kalau nama tutorial melarang mendaftar username yang sudah terdaftar itu apa ya kang ?
    saya mau belajar banyak tentang itu,

    akang punya tutorial atau referensi nya ?

  15. iya itu nama tutorialnya apa,
    keywordnya kalau di google ?

  16. pak itu bagaimana cara menghapus form password dan konfirmasi password beserta fungsi fungsi nya,

    jadi yang ingin saya ambil hanya form username beserta validasi ketersediaan username nya.

    mohon bantuannya pak,
    trimakasih.

    • Pertama silahkan hapus code dibawah pada create database.

       `password` varchar(150) NOT NULL,
       `confirm` varchar(150) NOT NULL,
      

      Kemudian pada html codenya juga dihapus script dibawah ini.

      <div> Password :</div><input name="password" type="password" />
      <div>Confirm Password :</div><input name="confirm" type="password" />
      

      Pada bagian reg_act.php scriptnya silahkan diganti dengan script dibawah ini.

      <?php
      include "db.php";
      $username = addslashes(strip_tags ($_POST['username']));
      //script ini untuk mengecek apakah form sudah terisi semua
      if ($username) {
      //berfunsgi untuk mengecek form tidak boleh lebih dari 10
      	 if (strlen($username)> 10){
      		echo "username tidak boleh lebih dari 10 karakter";
      	 }
      	 else {
      		//untuk mengecek apakah form password dan form konfirmasi password sudah sama
      		 $sql_get = mysql_query ("SELECT * FROM users WHERE username = '$username'");
      		 $num_row = mysql_num_rows($sql_get);
      		//fungsi script ini adalah untuk mengecek ketersediaan username, jika tidak tersedia maka program akan berjalan
      		 if ($num_row ==0) {
      		 $sql_insert = mysql_query("INSERT INTO users VALUES ('','$username')");
      			echo "Pendaftaran berhasil. Login <a href='login.php'>disini</a>";
      		 }
      		 else {
      			echo "Username sudah terdaftar";
      		 }
      	 }
      } else {
       	echo "Tolong penuhi form pendaftaran!";
      }
      ?>
      

      Terima kasih, semoga membantu 🙂

  17. Ane sedot dulu ya gan, makasih loh, semoga berhasil buatnya….

  18. Tidak bisa konek dengan databasemysql_error
    itu permasalahannya dimna ya gan

  19. sama gan ga bisa konek. apa karena localhostnya ato rootnya di konek.php harus di sesuai dengan website

Leave a Reply

Your email address will not be published. Required fields are marked *