{"id":1852,"date":"2023-04-12T03:01:55","date_gmt":"2023-04-12T03:01:55","guid":{"rendered":"https:\/\/imilkom.usu.ac.id\/?p=1852"},"modified":"2023-04-12T16:21:51","modified_gmt":"2023-04-12T16:21:51","slug":"imilkom-belajar-10-cara-membuat-login-dan-signup-form-di-php","status":"publish","type":"post","link":"https:\/\/imilkom.usu.ac.id\/?p=1852","title":{"rendered":"Imilkom Belajar-#10 Cara Membuat Login dan Signup Form di PHP"},"content":{"rendered":"\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2023\/04\/Untitled-2-01-1024x791.png\" alt=\"\" class=\"wp-image-1866\" width=\"427\" height=\"330\" srcset=\"https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2023\/04\/Untitled-2-01-1024x791.png 1024w, https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2023\/04\/Untitled-2-01-300x232.png 300w, https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2023\/04\/Untitled-2-01-768x593.png 768w, https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2023\/04\/Untitled-2-01.png 1650w\" sizes=\"(max-width: 427px) 100vw, 427px\" \/><\/figure><\/div>\n\n\n\n<p>Login dan signup adalah bagian penting dari banyak\naplikasi web modern. Artikel ini akan membahas bagaimana cara membuat fitur\nlogin dan signup menggunakan PHP dan MySQL.<\/p>\n\n\n\n<p>Langkah 1: Buat database MySQL<\/p>\n\n\n\n<p>Langkah pertama adalah membuat database MySQL di\nserver lokal atau server web. Dalam artikel ini, kita akan menggunakan server\nlokal.<\/p>\n\n\n\n<p>Pertama, buka aplikasi XAMPP dan nyalakan Apache dan\nMySQL. Kemudian, buka browser web dan masukkan alamat\nhttp:\/\/localhost\/phpmyadmin\/.<\/p>\n\n\n\n<p>Setelah itu, buat database baru dengan mengklik tombol\n&#8220;New&#8221; di panel sebelah kiri dan memasukkan nama database yang\ndiinginkan.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"239\" height=\"133\" src=\"https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2023\/04\/Picture1.png\" alt=\"\" class=\"wp-image-1853\"\/><\/figure>\n\n\n\n<p>Langkah 2: Buat tabel untuk pengguna<\/p>\n\n\n\n<p>Setelah database dibuat, buat tabel untuk menyimpan informasi\npengguna. Dalam artikel ini, kita akan membuat tabel dengan nama\n&#8220;users&#8221; dan kolom-kolom berikut:<\/p>\n\n\n\n<p>id (INT, AUTO_INCREMENT, PRIMARY KEY)<\/p>\n\n\n\n<p>username (VARCHAR)<\/p>\n\n\n\n<p>email (VARCHAR)<\/p>\n\n\n\n<p>password (VARCHAR)<\/p>\n\n\n\n<p>Untuk membuat tabel ini, klik database yang telahdibuat dan pilih &#8220;SQL&#8221; di bagian atas halaman. Masukkan perintah SQLberikut:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2023\/04\/Picture2.png\" alt=\"\" class=\"wp-image-1854\" width=\"330\" height=\"99\" srcset=\"https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2023\/04\/Picture2.png 488w, https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2023\/04\/Picture2-300x90.png 300w\" sizes=\"(max-width: 330px) 100vw, 330px\" \/><\/figure><\/div>\n\n\n\n<p>Langkah 3: Membuat halaman login<\/p>\n\n\n\n<p>Pertama, buat file baru dengan nama&#8221;login.php&#8221; dan tambahkan kode berikut:<\/p>\n\n\n\n<p><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n    session_start();\n?>\n&lt;!DOCTYPE html>\n&lt;html>\n    &lt;head>\n        &lt;link rel=\"stylesheet\" href=\"style\/login_signup.css\">\n    &lt;\/head>\n    &lt;body>\n        &lt;div class=\"container\">\n            &lt;h2>Login Form&lt;\/h2>\n            &lt;p id=\"message\" style=&lt;?php\n                    if (isset($_SESSION['message']) and $_SESSION['message']=='Akun berhasil dibuat'){\n                        echo \"color:green;\";\n                    }\n                    else echo \"color:red;\";\n                ?>>\n                &lt;?= isset($_SESSION['message'])?$_SESSION['message']:\"\" ?>\n                &lt;?= $_SESSION['message']=\"\"?>\n            &lt;\/p>\n            &lt;form method=\"post\" id=\"login_form\" action=\"login_proccess.php\">\n                &lt;label for=\"nama_atau_email\">&lt;b>Nama atau email&lt;\/b>&lt;\/label>&lt;br>\n                &lt;input type=\"text\" id=\"nama_atau_email\" size=\"30\" placeholder=\"Masukkan nama atau email\" name=\"username\">&lt;br>\n                &lt;label for=\"password\">&lt;b>Kata sandi&lt;\/b>&lt;\/label>&lt;br>\n                &lt;input type=\"password\" id=\"password\" size=\"30\" placeholder=\"Masukkan kata sandi\" name=\"password\">&lt;br>\n                &lt;input type=\"submit\" id=\"submit\">\n            &lt;\/form>\n            &lt;p>Belum memiliki akun silahkan &lt;a href=\"signup.php\">daftar&lt;\/a>&lt;\/p>\n        &lt;\/div>\n    &lt;\/body>\n&lt;\/html><\/code><\/pre>\n\n\n\n<p>Kemudian, buat file baru dengan nama&#8221;login_process.php&#8221; dan tambahkan kode berikut:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\nsession_start();\n\n\/\/ Menghubungkan ke database\n$db = new mysqli(\"localhost\", \"root\", \"\", \"imilkom_belajar_10\");\n\n\/\/ Mendapatkan input dari form\n$username = $_POST['username'];\n$password = $_POST['password'];\n\n\/\/ Mengecek apakah input kosong\nif(empty($username) || empty($password)) {\n  $_SESSION['message'] = \"Username dan password harus diisi\";\n  header(\"location: login.php\");\n  exit();\n}\n\n\/\/ Mengecek apakah pengguna ada di database\n$result = $db->query(\"SELECT * FROM users WHERE ( username='$username' OR email = '$username') AND password='$password'\");\nif($result->num_rows == 0) {\n  $_SESSION['message'] = \"Username atau password salah\";\n  header(\"location: login.php\");\n  exit();\n}\n\n\/\/ Menyimpan informasi pengguna ke session\n$user = $result->fetch_assoc();\n$_SESSION['user'] = $user['username'];\n$_SESSION['message'] = \"Login berhasil\";\nheader(\"location: index.php\");\nexit();\n?><\/code><\/pre>\n\n\n\n<p>Langkah 4: Membuat halaman signup<\/p>\n\n\n\n<p>Pertama, buat file baru dengan nama&#8221;signup.php&#8221; dan tambahkan kode berikut:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n    session_start();\n?>\n&lt;!DOCTYPE html>\n&lt;html>\n    &lt;head>\n        &lt;link rel=\"stylesheet\" href=\"style\/login_signup.css\">\n    &lt;\/head>\n    &lt;body>\n        &lt;div class=\"container\">\n            &lt;h2>Signup Form&lt;\/h2>\n            &lt;p id=\"message\" style=\"color:red;\">\n                &lt;?= isset($_SESSION['message'])?$_SESSION['message']:\"\" ?>\n                &lt;?= $_SESSION['message']=\"\"?>\n            &lt;\/p>\n            &lt;form method=\"post\" id=\"login_form\" action=\"signup_proccess.php\">\n                &lt;label for=\"nama_atau_email\">&lt;b>Nama&lt;\/b>&lt;\/label>&lt;br>\n                &lt;input type=\"text\" id=\"nama\" size=\"30\" placeholder=\"Masukkan nama\" name=\"nama\">&lt;br>\n                &lt;label for=\"nama_atau_email\">&lt;b>Email&lt;\/b>&lt;\/label>&lt;br>\n                &lt;input type=\"email\" id=\"email\" size=\"30\" placeholder=\"Masukkan email\" name=\"email\">&lt;br>\n                &lt;label for=\"password\">&lt;b>Kata sandi&lt;\/b>&lt;\/label>&lt;br>\n                &lt;input type=\"password\" id=\"password\" size=\"30\" placeholder=\"Masukkan kata sandi\" name=\"kata_sandi\">&lt;br>\n                &lt;input type=\"submit\" id=\"submit\">\n            &lt;\/form>\n            &lt;p>Sudah memiliki akun silahkan &lt;a href=\"login.php\">login&lt;\/a>&lt;\/p>\n        &lt;\/div>\n    &lt;\/body>\n&lt;\/html><\/code><\/pre>\n\n\n\n<p>Kemudian, buat file baru dengan nama&#8221;signup_process.php&#8221; dan tambahkan kode berikut:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\nsession_start();\n\n\/\/ Menghubungkan ke database\n$db = new mysqli(\"localhost\", \"root\", \"\", \"imilkom_belajar_10\");\n\n\/\/ Mendapatkan input dari form\n$username = $_POST['nama'];\n$email = $_POST['email'];\n$password = $_POST['kata_sandi'];\n\n\/\/ Mengecek apakah input kosong\nif(empty($username) || empty($email) || empty($password)) {\n  $_SESSION['message'] = \"Semua field harus diisi\";\n  header(\"location: signup.php\");\n  exit();\n}\n\n\/\/ Mengecek apakah email sudah digunakan\n$result = $db->query(\"SELECT * FROM users WHERE email='$email'\");\nif($result->num_rows > 0) {\n  $_SESSION['message'] = \"Email sudah digunakan\";\n  header(\"location: signup.php\");\n  exit();\n}\n\n\/\/ Membuat akun baru di database\n$db->query(\"INSERT INTO users (username, email, password) VALUES ('$username', '$email', '$password')\");\n$_SESSION['message'] = \"Akun berhasil dibuat\";\nheader(\"location: login.php\");\nexit();\n?><\/code><\/pre>\n\n\n\n<p>Langkah 5: Menambahkan fitur logout<\/p>\n\n\n\n<p>Untuk menambahkan fitur logout, buat file baru dengannama &#8220;logout.php&#8221; dan tambahkan kode berikut:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\nsession_start();\nsession_unset();\nsession_destroy();\nheader(\"location: login.php\");\nexit();\n?><\/code><\/pre>\n\n\n\n<p>Langkah 6: Melindungi halaman yang hanya dapat diakses\nsetelah login<\/p>\n\n\n\n<p>Untuk melindungi halaman yang hanya dapat diaksessetelah login, tambahkan kode berikut di awal file tersebut:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\nsession_start();\nif(!isset($_SESSION['user'])) {\n  $_SESSION['message'] = \"Anda harus login terlebih dahulu\";\n  header(\"location: login.php\");\n  exit();\n}\n?><\/code><\/pre>\n\n\n\n<p>Berikut tampilan apabila index.php langsung diakses menggunakan url<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2023\/04\/Picture3-1.png\" alt=\"\" class=\"wp-image-1862\" width=\"237\" height=\"283\" srcset=\"https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2023\/04\/Picture3-1.png 376w, https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2023\/04\/Picture3-1-251x300.png 251w\" sizes=\"(max-width: 237px) 100vw, 237px\" \/><\/figure>\n\n\n\n<p>Langkah 7: Menampilkan informasi pengguna yang telah\nlogin<\/p>\n\n\n\n<p>Untuk menampilkan informasi pengguna yang telah login,tambahkan kode berikut ke halaman yang hanya dapat diakses setelah login:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!DOCTYPE html>\n&lt;html>\n&lt;head>\n    &lt;meta charset=\"UTF-8\">\n    &lt;title>Halaman Setelah Login&lt;\/title>\n&lt;\/head>\n&lt;body>\n    &lt;h2>Selamat datang, &lt;?php echo $_SESSION['user']; ?>&lt;\/h2>\n    &lt;p>&lt;?php echo $_SESSION['message']; ?>&lt;\/p>\n    &lt;a href=\"logout.php\">Logout&lt;\/a>\n&lt;\/body>\n&lt;\/html><\/code><\/pre>\n\n\n\n<p>Langkah 8: Memperindah tampilan form login dan signup<\/p>\n\n\n\n<p>Untuk memberikan tampilan yang bagus buat file CSS didalam folder style dengan nama \u201clogin_signup.css\u201d<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.container{\n    margin:0;\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    transform: translate(-50%, -50%);\n    border: 1px;\n    padding:30px;\n    border-radius: 5%;\n    box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;\n    background-color: #E9F8F9;\n}\nhtml{\n    color:#537FE7;\n}\nh2{\n    text-align: center;\n}\n#message{\n    text-align: center;\n}\n#login_form{\n    margin:3px;\n}\ninput{\n    padding: 10px 10px;\n    margin-bottom: 10px;\n    border-radius: 5px;\n    border:1px;\n}\n#submit{\n  margin:0;\n  position: relative;\n  left:50%;\n  transform: translateX(-50%);\n  background-color: #C0EEF2;\n  border: 1px;\n  border-radius: 5%;\n}\n#submit:hover{\n    background-color: #76DAE5;\n}\na{\n    color:#655DBB;\n}<\/code><\/pre>\n\n\n\n<p>Berikut adalah contoh proses signup dan login <\/p>\n\n\n\n<ol><li>Signup<\/li><\/ol>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2023\/04\/Picture4.png\" alt=\"\" class=\"wp-image-1857\" width=\"228\" height=\"293\" srcset=\"https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2023\/04\/Picture4.png 343w, https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2023\/04\/Picture4-233x300.png 233w\" sizes=\"(max-width: 228px) 100vw, 228px\" \/><\/figure>\n\n\n\n<p>2.&nbsp;Setelah signup data akan tersimpan di localhost<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2023\/04\/Picture5.png\" alt=\"\" class=\"wp-image-1858\" width=\"425\" height=\"22\" srcset=\"https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2023\/04\/Picture5.png 734w, https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2023\/04\/Picture5-300x16.png 300w\" sizes=\"(max-width: 425px) 100vw, 425px\" \/><\/figure>\n\n\n\n<p>3. Log in<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2023\/04\/Picture6.png\" alt=\"\" class=\"wp-image-1859\" width=\"242\" height=\"289\" srcset=\"https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2023\/04\/Picture6.png 327w, https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2023\/04\/Picture6-251x300.png 251w\" sizes=\"(max-width: 242px) 100vw, 242px\" \/><\/figure>\n\n\n\n<p>4.&nbsp;Tampilanindex.php setelah berhasil login<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2023\/04\/Picture7.png\" alt=\"\" class=\"wp-image-1860\" width=\"340\" height=\"141\" srcset=\"https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2023\/04\/Picture7.png 464w, https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2023\/04\/Picture7-300x124.png 300w\" sizes=\"(max-width: 340px) 100vw, 340px\" \/><\/figure>\n\n\n\n<p>Sekarang IMILKOMers telah berhasil membuat fitur login dansignup menggunakan PHP dan MySQL nih!. IMILKOMers dapat menyesuaikan kode ini sesuai dengan kebutuhan aplikasi web nya ya.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Login dan signup adalah bagian penting dari banyak aplikasi web modern. Artikel ini akan membahas bagaimana cara membuat fitur login dan signup menggunakan PHP dan MySQL. Langkah 1: Buat database&hellip;<\/p>\n","protected":false},"author":2,"featured_media":1866,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15],"tags":[14],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/imilkom.usu.ac.id\/index.php?rest_route=\/wp\/v2\/posts\/1852"}],"collection":[{"href":"https:\/\/imilkom.usu.ac.id\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/imilkom.usu.ac.id\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/imilkom.usu.ac.id\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/imilkom.usu.ac.id\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1852"}],"version-history":[{"count":4,"href":"https:\/\/imilkom.usu.ac.id\/index.php?rest_route=\/wp\/v2\/posts\/1852\/revisions"}],"predecessor-version":[{"id":1870,"href":"https:\/\/imilkom.usu.ac.id\/index.php?rest_route=\/wp\/v2\/posts\/1852\/revisions\/1870"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/imilkom.usu.ac.id\/index.php?rest_route=\/wp\/v2\/media\/1866"}],"wp:attachment":[{"href":"https:\/\/imilkom.usu.ac.id\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1852"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imilkom.usu.ac.id\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1852"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imilkom.usu.ac.id\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1852"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}