SlideShare a Scribd company logo
Kuliah Umum IlmuKomputer.Com
Copyright © 2003 IlmuKomputer.Com
1
PPHHPP FFoorrmm RReeggiisstteerr && LLooggiinn uunnttuukk
MMeemmbbeerr
Stieven R. Kalengkian
stieven@kawanuanetworks.com
http://www.php.wox.org
Kali ini saya memberikan tips dan trik bagaimana cara membuat form untuk meregister sekaligus login untuk
member terdaftar, dan sudah tentu kita akan menggunakan database MySQL untuk menyimpan data para member
terdaftar.
Perlu diingat source PHP yang saya tulis ini berjalan pada PHP 4.2.3 atau lebih disarankan untuk menggunakan PHP
versi 4.3 atau lebih.
Mari kita mulai!
Pertama-tama siapkan terlebih dulu databasenya. Silahkan jalankan mysql Client kamu. Masih bingung atau lupa
menjalankan mysql client ? Ok saya coba ingat-ingatkan kembali…
Mysql client yang digunakan disini adalah yang berbasis teks dan di eskusi pada shell. Dengan kata lain mysql client
dijalankan dengan perintah sebagai berikut :
mysql
Perintah ini dlakukan jika server MySQL berada pada localhost dan tidak ada password untuk user yang sedang aktif
pada saat itu.
Untuk perintah yang lebih kompleks dapat menggunakan perintah sebagai berikut
mysql –h hosttarget –u username –ppasswordaccess
hosttarget adalah lokasi server MySQL berada, username adalah user untuk mengakses kedalam database dan
passwordaccess adalah password username untuk mengakses kedalam database. Setelah itu shell akan berganti
seperti :
mysql>
Nah selanjutnya silahkan pilih database yang akan digunakan. Jika belum memiliki database atau ingin menggunakan
database lain dari yang sudah ada berarti harus membuat database baru.
Cara membuat database :
mysql> create database namadatabase;
Query OK, 1 row affected <0.00 sec>
sedangkan untuk menggunakan database yang sudah ada
mysql> use namadatabase;
Lisensi Dokumen:
Copyright © 2003 IlmuKomputer.Com
Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan
disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat
tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang
disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang,
kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.
Kuliah Umum IlmuKomputer.Com
Copyright © 2003 IlmuKomputer.Com
2
database changed
Sebagai catatan, dalam pembuatan database jangan menggunakan tanda “-“ atau spasi untuk nama database yang
terdiri lebih dari dua kata sebaiknya gunakan tanda “_”
Contoh nama database yang salah : ilmu-komputer ilmu computer ilmu^computer
Contoh nama database yang benar : ilmu_komputer ilmukomputer
Setalah database sudah disiapkan kita akan membuat tablenya. Berikut cara membuat tablenya, ingat ini masih pada
shell MySQL.
CREATE TABLE phpschool_user (
id bigint(20) unsigned NOT NULL auto_increment,
user_name varchar(255) NOT NULL default '',
user_pass varchar(80) default NULL,
user_mode varchar(5) default NULL,
admin enum('yes','no') default 'no',
user_email varchar(60) default NULL,
user_fullname varchar(80) default NULL,
user_address varchar(120) default NULL,
user_telepon varchar(30) default NULL,
tempat_lahir varchar(60) default NULL,
tgl_lahir varchar(12) default NULL,
date_register varchar(70) default NULL,
user_ipaddress varchar(20) default NULL,
user_hostname varchar(120) default NULL,
note tinytext,
last_login varchar(60) default NULL,
PRIMARY KEY (user_name),
KEY id (id)
) TYPE=MyISAM;
Query OK, 0 row affected <0.00 sec>
Selesai sudah persiapan database sekarang kita pindah ke bagian PHP sourcenya. Disini kita akan membuat beberapa
file untuk proses pendaftaran dan login yang sudah terdaftar.
1. daftar.php, adalah file yang berisi form untuk pendaftaran bagi yang belum terdaftar
2. login.php, adalah file yang berisi form untuk proses login bagi yang sudah terdaftar
sekarang kita mulai dengan daftar.php
lumayan panjang sih… disini saya juga memberikan beberapa tips untuk javascript bagaimana untuk validasi
penulisan email yang benar.
<?php
session_start();
//your mysql access for host user password, database and table prefix
$prefix="phpschool_";
$sqlhost="localhost";
$sqluser="ipen";
$sqlpasswd="n0limited";
$sqldb="stieven";
$conn=mysql_connect("$sqlhost","$sqluser","$sqlpasswd") or die("<p align=center>CAN NOT
CONNECT TO MYSQL SERVER");
mysql_query("use $sqldb");
//Global variable register PHP 4.23 or more only
extract($_SERVER,"EXTR_PREFIX_SAME");
extract($HTTP_ENV_VARS,"EXTR_PREFIX_SAME");
extract($HTTP_GET_VARS,"EXTR_PREFIX_SAME");
extract($HTTP_POST_VARS,"EXTR_PREFIX_SAME");
$file_name=$HTTP_POST_FILES["file"]["name"];
$file_size=$HTTP_POST_FILES["file"]["size"];
$file_tmp=$HTTP_POST_FILES["file"]["tmp_name"];
$file_type=$HTTP_POST_FILES["file"]["type"];
if ($logout) {
Kuliah Umum IlmuKomputer.Com
Copyright © 2003 IlmuKomputer.Com
3
unset($HTTP_SESSION_VARS["userakses"]);
unset($HTTP_SESSION_VARS["userfullname"]);
unset($HTTP_SESSION_VARS["usermode"]);
unset($HTTP_SESSION_VARS["useremail"]);
unset($HTTP_SESSION_VARS["useradmin"]);
unset($HTTP_SESSION_VARS["userlastlogin"]);
}
$thisVersion=phpversion();
$php_version=explode(".",$thisVersion);
$phpversion=$php_version[0] . $php_version[1];
$gmt=date("Z");
$namaBulan=array("null","Januari","Februari","Maret","April","Mei","Juni","Juli","Agustu
s","September","Oktober","November","Desember");
if (!$HTTP_SESSION_VARS["userakses"]) {
if ($submitdaftar) {
$user_name=strtolower(strip_tags(trim($user_name)));
$user_pass=strip_tags(trim($user_pass));
$user_fullname=strip_tags(trim($user_fullname));
$user_address=strip_tags(trim($user_address));
$user_telepon=strip_tags(trim($user_telepon));
$tempat_lahir=strip_tags(trim($tempat_lahir));
$nama_status=strip_tags(trim($nama_status));
$alamat_status=strip_tags(trim($alamat_status));
$hostname=gethostbyaddr($REMOTE_ADDR);
$note=strip_tags(trim($note));
//ceking
$getUser=mysql_query("insert into ". $prefix ."user
(user_name, user_pass, user_mode, user_email, user_fullname, user_address,
user_telepon, tempat_lahir,
tgl_lahir, date_register, user_ipaddress, user_hostname, note, last_login)
values
('$user_name','$user_pass','$mode','$user_email','$user_fullname','$user_address','$user
_telepon','$tempat_lahir',
'$thn_lahir-$bln_lahir-$tgl_lahir','". date("U") ."','". $REMOTE_ADDR ."',
'$hostname','$note', '". date("U") ."'
)
");
if ($getUser) {
$regOK="ok";
$msgError="<br><p align=center>$user_fullname Selamat Bergabung dengan
Kami<p>";
}
else {
$fname=str_replace(".","",$user_fullname);
$fname=str_replace(",","",$fname);
$fname=explode(" ",$fname);
$username[0]=strtolower($user_name . rand(1000,2000));
$username[1]=strtolower($fname[0]. "_" .$fname[1]);
$username[2]=strtolower($fname[count($fname)-1]. "_" .$fname[0]);
$msgError="
<br><p align=center><b>$user_name</b> tidak dapat di
daftar<br>Kemungkinan terbesar sudah pernah didaftar Coba Pilih yang lain misalkan<br>
<ul>
<li>$username[0]
<li>$username[1]
<li>$username[2]
</ul>
<p>";
unset($user_name);
}
}
?>
<script>
function cekuser() {
if ((document.daftar.user_name.value.length < 4) ||
(document.daftar.user_name.value.length > 255)) {
alert('Panjang Karakter untuk username harus minimal 4');
document.daftar.user_name.focus();
return false;
}
else {
Kuliah Umum IlmuKomputer.Com
Copyright © 2003 IlmuKomputer.Com
4
if (document.daftar.user_name.value.indexOf(" ") >= 0) {
alert('Jangan ada spasi pada isian username dan password');
document.daftar.user_name.focus();
return false;
}
else { return emailbenar(document.daftar.user_email.value); }
}
}
function ceknotchar(ftr) {
var charnot=new Array
('*','%','@','`','"',"'",'$','#','~','(',')','!','^','&','.',',','*',';',':','<','>','['
,']','{','}','|','','+','=','?','/');
for (i=0;i<=charnot.length;i++) {
charsek1=ftr.indexOf(charnot[i]);
if (charsek1 >= 0) { alert('Tidak di ijinkan menggunakan karakter "' +
charnot[i] + '"');document.daftar.user_name.focus();return false; }
}
return cekFmValid();
}
function cekFmValid() {
if (
(document.daftar.user_fullname.value.length < 1) ||
(document.daftar.user_address.value.length < 1) ||
(document.daftar.nama_status.value.length < 1) ||
(document.daftar.alamat_status.value.length < 1) ||
(document.daftar.tempat_lahir.value.length < 1) || (document.daftar.status.value
== "")
) {
alert('Ada form yang belum diisi, kamu harus mengisi semua form');
return false;
}
else {
if (document.daftar.mode.value == "none") {
alert('Mode Daftar belum di pilih');
document.daftar.mode.focus();
return false;
}
}
}
function emailbenar(str) {
var cek1=str.indexOf("@");
if (cek1 <= 0) {
alert('Alamat Email harus disi dengan benar. Kesalahan pada tanda "@"');
document.daftar.user_email.focus();
return false;
}
else {
var cek2=str.lastIndexOf(".");
//alert(cek2 + '-' + cek1);
if (cek2 <= cek1+1) {
alert('Alamat Email harus disi dengan benar. Kesalahan pada tanda
"."');
document.daftar.user_email.focus();
return false;
}
else {
cek3=document.daftar.user_email.value.length;
if (cek2 == cek3-1) {
alert('Anda masih salah dalam penulisan email setalah tanda "."
masih belum lengkap!');
document.daftar.user_email.focus();
return false;
}
else {
if (str.indexOf(" ") >= 0) {
alert('Tidak boleh ada spasi dalam penulisan
email');
return false;
}
}
//alert('True');
Kuliah Umum IlmuKomputer.Com
Copyright © 2003 IlmuKomputer.Com
5
return ceknotchar(document.daftar.user_name.value);
}
return false;
}
return false;
}
function setMode() {
if (document.daftar.mode.value >=1) {
document.daftar.tahun_masuk.disabled=false;
}
else {
document.daftar.tahun_masuk.disabled=true;
document.daftar.tahun_lulus.disabled=true;
}
}
function setTahunlulus(defTahun) {
if (document.daftar.tahun_masuk.value < defTahun) {
document.daftar.tahun_lulus.disabled=false;
}
else {
document.daftar.tahun_lulus.disabled=true;
}
if ((document.daftar.mode.value == "none") || (document.daftar.mode.value == ""))
{
document.daftar.tahun_lulus.disabled=true;
}
}
</script>
<table width="98%" border="0" align="center" cellpadding="4" cellspacing="2">
<tr>
<td align="left" valign="top" style="border:1px solid #363635;text-align:justify">
<?php
echo $msgError;
if ($regOK != "ok") {
?>
<form name="daftar" method="post" action="" onSubmit="return cekuser();">
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr align="left" valign="top">
<td width="25%">Username</td>
<td width="75%"><input name="user_name" value="<?php echo $user_name; ?>"
type="text" id="user_name" style="width:180" maxlength="12">
<br> <font color="#666666">Minimal 4 karakter, gunakan kombinasi
huruf dan angka dan tanda &quot;_&quot; (underline)</font></td>
</tr>
<tr align="left" valign="top">
<td>Password</td>
<td><input name="user_pass" type="password" id="user_pass" style="width:180">
<br> <font color="#666666">Minumal 8 karakter, case sensitif (Huruf
besar/Kapital) memiliki perbedaan dengan huruf kecil</font></td>
</tr>
<tr align="left" valign="top">
<td>Email</td>
<td><input name="user_email" type="text" id="user_email" value="<?php echo
$user_email; ?>" style="width:180">
<br> <font color="#666666">Penulisan bentuk email harus tepat Contoh
: ipen22@yahoo.com dan email harus yang masih aktif</font></td>
</tr>
<tr align="left" valign="top">
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr align="left" valign="top">
<td>Nama Lengkap</td>
<td><input name="user_fullname" value="<?php echo $user_fullname; ?>"
type="text" id="user_fullname" style="width:180"></td>
</tr>
<tr align="left" valign="top">
<td>Alamat</td>
<td><input name="user_address" type="text" value="<?php echo
$user_address; ?>" id="user_name6" style="width:180"></td>
</tr>
<tr align="left" valign="top">
<td>Telepon</td>
Kuliah Umum IlmuKomputer.Com
Copyright © 2003 IlmuKomputer.Com
6
<td><input name="user_telepon" type="text" value="<?php echo $user_telepon; ?>"
id="user_name7" style="width:180"></td>
</tr>
<tr align="left" valign="top">
<td>Tempat Lahir</td>
<td><input name="tempat_lahir" type="text" value="<?php echo $tempat_lahir; ?>"
id="user_name8" style="width:180">
</td>
</tr>
<tr align="left" valign="top">
<td>Tanggal Lahir</td>
<td><select name="tgl_lahir">
<?php
for ($t=1;$t<=31;$t++) {
$tt=date("d");
$tt=$tgl_lahir;
if ($t == $tt) { echo "<option value="$t"
selected>$t</option>"; }
else { echo "<option
value="$t">$t</option>"; }
}
?>
</select> <select name="bln_lahir">
<?php
for ($t=1;$t<=12;$t++) {
$tt=date("m");
$tt=$bln_lahir;
if ($t == $tt) { echo "<option value="$t"
selected>$namaBulan[$t]</option>"; }
else { echo "<option
value="$t">$namaBulan[$t]</option>"; }
}
?>
</select> <select name="thn_lahir">
<?php
for ($t=1940;$t<=date("Y")-10;$t++) {
$tt=date("Y")-22;
$tt=$thn_lahir;
if ($t == $tt) { echo "<option value="$t"
selected>$t</option>"; }
else { echo "<option
value="$t">$t</option>"; }
}
?>
</select> </td>
</tr>
<tr align="left" valign="top">
<td>Note</td>
<td><textarea name="note" id="note" style="width:180;height:70"><?php echo
$note; ?></textarea></td>
</tr>
<tr align="left" valign="top">
<td>&nbsp;</td>
<td><input name="submitdaftar" type="submit" id="submitdaftar" value="D A F T
A R"></td>
</tr>
</table>
</form>
<script>
setTahunlulus(<?php echo date("Y"); ?>);
setMode();
</script>
<?php
}
?>
</td>
</tr>
</table>
<?php
}
else {
echo "<p align=center>Kamu sudah terdaftar dengan akses ".
$HTTP_SESSION_VARS["userakses"] ."! <p align=center> <a href="?logout=1">Logout</a>";
}
Kuliah Umum IlmuKomputer.Com
Copyright © 2003 IlmuKomputer.Com
7
?>
Sekarang kita beralih ke login.php
<?php
session_start();
//your mysql access for host user password, database and table prefix
$prefix="phpschool_";
$sqlhost="localhost";
$sqluser="ipen";
$sqlpasswd="n0limited";
$sqldb="stieven";
$conn=mysql_connect("$sqlhost","$sqluser","$sqlpasswd") or die("<p align=center>CAN NOT
CONNECT TO MYSQL SERVER");
mysql_query("use $sqldb");
//Global variable register PHP 4.23 or more only
extract($_SERVER,"EXTR_PREFIX_SAME");
extract($HTTP_ENV_VARS,"EXTR_PREFIX_SAME");
extract($HTTP_GET_VARS,"EXTR_PREFIX_SAME");
extract($HTTP_POST_VARS,"EXTR_PREFIX_SAME");
$file_name=$HTTP_POST_FILES["file"]["name"];
$file_size=$HTTP_POST_FILES["file"]["size"];
$file_tmp=$HTTP_POST_FILES["file"]["tmp_name"];
$file_type=$HTTP_POST_FILES["file"]["type"];
$thisVersion=phpversion();
$php_version=explode(".",$thisVersion);
$phpversion=$php_version[0] . $php_version[1];
$gmt=date("Z");
$namaBulan=array("null","Januari","Februari","Maret","April","Mei","Juni","Juli","Agustu
s","September","Oktober","November","Desember");
if ($logout) {
unset($HTTP_SESSION_VARS["userakses"]);
unset($HTTP_SESSION_VARS["userfullname"]);
unset($HTTP_SESSION_VARS["usermode"]);
unset($HTTP_SESSION_VARS["useremail"]);
unset($HTTP_SESSION_VARS["useradmin"]);
unset($HTTP_SESSION_VARS["userlastlogin"]);
}
if ($login) {
if (!$HTTP_SESSION_VARS["userakses"]) {
$getLogin=mysql_query("select * from ". $prefix ."user where
user_name='$user_name'");
$thisLogin=mysql_fetch_array($getLogin);
if (!$thisLogin[user_name]) { $errorLogin="<script>alert('$user_name
tidak terdaftar')</script>"; }
else {
if ($user_pass == $thisLogin[user_pass]) {
$HTTP_SESSION_VARS["userakses"]=$thisLogin[user_name];
$HTTP_SESSION_VARS["userfullname"]=$thisLogin[user_fullname];
$HTTP_SESSION_VARS["usermode"]=$thisLogin[user_mode];
$HTTP_SESSION_VARS["useremail"]=$thisLogin[user_email];
$HTTP_SESSION_VARS["useradmin"]=$thisLogin[admin];
$HTTP_SESSION_VARS["userlastlogin"]=$thisLogin[last_login];
$HTTP_SESSION_VARS["userhostname"]=$thisLogin[user_hostname];
$HTTP_SESSION_VARS["useripaddress"]=$thisLogin[user_ipaddress];
$hostname=gethostbyaddr($REMOTE_ADDR);
mysql_query("update ". $prefix ."user set
user_hostname='$hostname', user_ipaddress='". $REMOTE_ADDR ."', last_login='".
date("U") ."' where user_name='$user_name'");
}
Kuliah Umum IlmuKomputer.Com
Copyright © 2003 IlmuKomputer.Com
8
else { $errorLogin="<script>alert('$user_name password tidak
tepat')</script>"; }
}
}
}
?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
echo $errorLogin;
if (!$HTTP_SESSION_VARS["userakses"]) {
?>
<form name="form1" method="post" action="">
<p align="center">Username<br>
<input name="user_name" type="text" id="user_name" style="width:180">
<br>
Password <br>
<input name="user_pass" type="password" id="user_pass" style="width:180">
</p>
<p align="center">
<input type="submit" name="login" value="Submit" style="border-bottom:2px solid
#363635;border-right:2px solid #363635;border-top:2px solid #82817F;border-left:2px solid
#82817F;">
</p>
</form>
<center><a href="daftar.php">Daftar
Disini</a></center>
<?php
}
else {
echo "Kamu sudah login dengan akses ". $HTTP_SESSION_VARS["userakses"] ." <p> <a
href="?logout=1">Logout</a>";
}
?>
</body>
</html>
Script source ini hasil modifikasi dari PHPSchool v.2.0 September 2003
untuk download source lengkapnya silahkan download di
www.php.wox.org/ipen_v2/tutor/php/daftar_login.zip
jika ada kesulitan bisa hubungi di http://www.php.wox.org atau email: stieven@kawanuanetworks.com
Contohnya dapat di lihat di http://phpschool.kawanuanetworks.com/phpschool2/
Selamat mencoba!
“Bagaimana mewujudkan sesuatu yang tidak mungkin menjadi mungkin ? hanya ada satu jawaban. BERANI
MENCOBA!” (by ipen). Terima Kasih untuk Christy yang telah menemani dalam penulisan artikel ini walau dalam
keadaan sakit. Cepat sembuh ya. ☺

More Related Content

DOCX
Laporan Praktikum Web dengan PHP
DOCX
Laporan praktikum bengkel web dengan PHP
PDF
Web Programming - DB Buku Tamu
PDF
Php dan MySQL 4
DOC
09071003002 session dan fungsinya
PDF
Belajar php dan my sql bareng newbie v.1
PDF
Pemrograman Web 7 - Basic PHP
PDF
Program menampilkan Isi data dari tabel barang
Laporan Praktikum Web dengan PHP
Laporan praktikum bengkel web dengan PHP
Web Programming - DB Buku Tamu
Php dan MySQL 4
09071003002 session dan fungsinya
Belajar php dan my sql bareng newbie v.1
Pemrograman Web 7 - Basic PHP
Program menampilkan Isi data dari tabel barang

What's hot (14)

DOC
Virtual host
PDF
Halaman dinamis
PDF
13 php mysql 3 combining
DOCX
PDF
Cara Membuat WebTools
PDF
Buku tamu php&my sql
PDF
Web Programming - Simpan Tampil Customer
PDF
Selayang Pandang Javascript dan NodeJS
PDF
Modul php 4
PDF
Web dinamis
PDF
Pengantar mysql
PPTX
Tiara ramadhani, sitem terdistibusi, final project, 2017
PPTX
Slide web programming ii
PDF
Login php mysql
Virtual host
Halaman dinamis
13 php mysql 3 combining
Cara Membuat WebTools
Buku tamu php&my sql
Web Programming - Simpan Tampil Customer
Selayang Pandang Javascript dan NodeJS
Modul php 4
Web dinamis
Pengantar mysql
Tiara ramadhani, sitem terdistibusi, final project, 2017
Slide web programming ii
Login php mysql
Ad

Viewers also liked (16)

PDF
Gambar php
PDF
Computer Worm
PDF
Belajar php
PDF
Php GTK Indonesia
PPTX
Laura lais
PPTX
Rafael e leticia
PPTX
Daniel ederson
PPTX
Haiany e pollyana pronto
PDF
Weight Loss Tea and Detoxification Tips
PDF
The entity framework 4 and asp net web forms
PPTX
Make money and stay healthy
PPTX
Matheus l. e matheus w.1
PPTX
Yasmin.d maria geovana
PDF
Python tutorial
PPTX
Caroline & emilly
PPTX
Natan e gustavo
Gambar php
Computer Worm
Belajar php
Php GTK Indonesia
Laura lais
Rafael e leticia
Daniel ederson
Haiany e pollyana pronto
Weight Loss Tea and Detoxification Tips
The entity framework 4 and asp net web forms
Make money and stay healthy
Matheus l. e matheus w.1
Yasmin.d maria geovana
Python tutorial
Caroline & emilly
Natan e gustavo
Ad

Similar to Php form register / login (20)

PDF
test saja kok
PDF
Php tutorial-17
PDF
Php CMS tutorial
PPTX
10 PHP dan MySQL.pptx
PDF
Belajar php 2015
PDF
Modul pembuatan aplikasi login dengan php dan my sq lx
PDF
Modul pembuatan aplikasi login dengan php dan my sq lx
PDF
Bongkar rahasia php
DOCX
Membuat form login dengan php mysql
DOCX
Script login form php
PDF
Manipulasi database mysql dgn php
PDF
Wawan tutorial-zend-bagian-4
PPTX
PDF
Belajar htmlphp-dan-my sql
PDF
Tutorial crud PHP
DOCX
Pengaplikasian halaman Log-in berbasis MySQL
PDF
Belajar htmlphp-dan-my sql
PDF
Login dengan-session
PDF
pembuatan database dan web (1).pdf
PDF
Cara mudah koneksi php dan mysql dengan database
test saja kok
Php tutorial-17
Php CMS tutorial
10 PHP dan MySQL.pptx
Belajar php 2015
Modul pembuatan aplikasi login dengan php dan my sq lx
Modul pembuatan aplikasi login dengan php dan my sq lx
Bongkar rahasia php
Membuat form login dengan php mysql
Script login form php
Manipulasi database mysql dgn php
Wawan tutorial-zend-bagian-4
Belajar htmlphp-dan-my sql
Tutorial crud PHP
Pengaplikasian halaman Log-in berbasis MySQL
Belajar htmlphp-dan-my sql
Login dengan-session
pembuatan database dan web (1).pdf
Cara mudah koneksi php dan mysql dengan database

Recently uploaded (20)

PPT
Pertumbuhan Perkembangan Tumbuhan Kelas 9.ppt
PPTX
Pengenalan Micosoft Word versi terbaru.pptx
DOCX
JURNAL PEMBELAJARAN MODUL 3 AKSI NYATA KODE ETIK GURU.docx
PPTX
RENCANA (Peruri Karawang, 05 Agst'25) + Link-link Materi Training_Teknik Peny...
PPTX
Presentasi_Koding_dan_KECERDASAN ARTIFISIAL_FINAL.pptx
PDF
Modul 7 Kp 1 Pelatihan Pembelajaran Mendalam
PPTX
PENGIMBASAN PEMBELAJARAN MENDALAM (DEEP LEARNING)
PDF
Timbal Balik yang Timbang: Perdagangan Tak Setara AS–Indonesia
PDF
KELOMPOK 4 LK Modul 4 KP4 Asesmen PM (3).pdf
PDF
Berpikir dengan AI - Menuju Pendidikan Karakter dan Ketahanan Bangsa di Era K...
PPTX
Presentasi_Pembelajaran_Mendalam_Lengkap.pptx
PPTX
Optimasi Proses Bisnis Pemasaran dalam Bisnis Retail
PDF
0 KELOMPOK 2 LK 1 MODUL 3 Pembelajaran Mendalam Pelatihan.pdf
DOCX
LK - Pengalaman Belajar Pembelajaran Mendalam.docx
PPTX
Analisis-Kasus-PNS-Telat-Pelayanan-Publik-Terhambat Fiks.pptx
PPTX
PPT-Makhluk-Hidup-dan-Lingkungannya-PROJEK-IPAS-SMK-Kelas-10.pptx
PDF
PPT Resources Seminar AITalks: AI dan Konseling GPT
PPTX
5. Salindia (Bahan Tayang) Modul 5_ Perencanaan Pembelajaran (1).pptx
DOCX
788647528-JURNAL-PEMBELAJARAN-INFORMATIKA.docx
PDF
0 IN1.3.3. Kegiatan Pelatihan Luring 2.pdf
Pertumbuhan Perkembangan Tumbuhan Kelas 9.ppt
Pengenalan Micosoft Word versi terbaru.pptx
JURNAL PEMBELAJARAN MODUL 3 AKSI NYATA KODE ETIK GURU.docx
RENCANA (Peruri Karawang, 05 Agst'25) + Link-link Materi Training_Teknik Peny...
Presentasi_Koding_dan_KECERDASAN ARTIFISIAL_FINAL.pptx
Modul 7 Kp 1 Pelatihan Pembelajaran Mendalam
PENGIMBASAN PEMBELAJARAN MENDALAM (DEEP LEARNING)
Timbal Balik yang Timbang: Perdagangan Tak Setara AS–Indonesia
KELOMPOK 4 LK Modul 4 KP4 Asesmen PM (3).pdf
Berpikir dengan AI - Menuju Pendidikan Karakter dan Ketahanan Bangsa di Era K...
Presentasi_Pembelajaran_Mendalam_Lengkap.pptx
Optimasi Proses Bisnis Pemasaran dalam Bisnis Retail
0 KELOMPOK 2 LK 1 MODUL 3 Pembelajaran Mendalam Pelatihan.pdf
LK - Pengalaman Belajar Pembelajaran Mendalam.docx
Analisis-Kasus-PNS-Telat-Pelayanan-Publik-Terhambat Fiks.pptx
PPT-Makhluk-Hidup-dan-Lingkungannya-PROJEK-IPAS-SMK-Kelas-10.pptx
PPT Resources Seminar AITalks: AI dan Konseling GPT
5. Salindia (Bahan Tayang) Modul 5_ Perencanaan Pembelajaran (1).pptx
788647528-JURNAL-PEMBELAJARAN-INFORMATIKA.docx
0 IN1.3.3. Kegiatan Pelatihan Luring 2.pdf

Php form register / login

  • 1. Kuliah Umum IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com 1 PPHHPP FFoorrmm RReeggiisstteerr && LLooggiinn uunnttuukk MMeemmbbeerr Stieven R. Kalengkian [email protected] http://www.php.wox.org Kali ini saya memberikan tips dan trik bagaimana cara membuat form untuk meregister sekaligus login untuk member terdaftar, dan sudah tentu kita akan menggunakan database MySQL untuk menyimpan data para member terdaftar. Perlu diingat source PHP yang saya tulis ini berjalan pada PHP 4.2.3 atau lebih disarankan untuk menggunakan PHP versi 4.3 atau lebih. Mari kita mulai! Pertama-tama siapkan terlebih dulu databasenya. Silahkan jalankan mysql Client kamu. Masih bingung atau lupa menjalankan mysql client ? Ok saya coba ingat-ingatkan kembali… Mysql client yang digunakan disini adalah yang berbasis teks dan di eskusi pada shell. Dengan kata lain mysql client dijalankan dengan perintah sebagai berikut : mysql Perintah ini dlakukan jika server MySQL berada pada localhost dan tidak ada password untuk user yang sedang aktif pada saat itu. Untuk perintah yang lebih kompleks dapat menggunakan perintah sebagai berikut mysql –h hosttarget –u username –ppasswordaccess hosttarget adalah lokasi server MySQL berada, username adalah user untuk mengakses kedalam database dan passwordaccess adalah password username untuk mengakses kedalam database. Setelah itu shell akan berganti seperti : mysql> Nah selanjutnya silahkan pilih database yang akan digunakan. Jika belum memiliki database atau ingin menggunakan database lain dari yang sudah ada berarti harus membuat database baru. Cara membuat database : mysql> create database namadatabase; Query OK, 1 row affected <0.00 sec> sedangkan untuk menggunakan database yang sudah ada mysql> use namadatabase; Lisensi Dokumen: Copyright © 2003 IlmuKomputer.Com Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.
  • 2. Kuliah Umum IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com 2 database changed Sebagai catatan, dalam pembuatan database jangan menggunakan tanda “-“ atau spasi untuk nama database yang terdiri lebih dari dua kata sebaiknya gunakan tanda “_” Contoh nama database yang salah : ilmu-komputer ilmu computer ilmu^computer Contoh nama database yang benar : ilmu_komputer ilmukomputer Setalah database sudah disiapkan kita akan membuat tablenya. Berikut cara membuat tablenya, ingat ini masih pada shell MySQL. CREATE TABLE phpschool_user ( id bigint(20) unsigned NOT NULL auto_increment, user_name varchar(255) NOT NULL default '', user_pass varchar(80) default NULL, user_mode varchar(5) default NULL, admin enum('yes','no') default 'no', user_email varchar(60) default NULL, user_fullname varchar(80) default NULL, user_address varchar(120) default NULL, user_telepon varchar(30) default NULL, tempat_lahir varchar(60) default NULL, tgl_lahir varchar(12) default NULL, date_register varchar(70) default NULL, user_ipaddress varchar(20) default NULL, user_hostname varchar(120) default NULL, note tinytext, last_login varchar(60) default NULL, PRIMARY KEY (user_name), KEY id (id) ) TYPE=MyISAM; Query OK, 0 row affected <0.00 sec> Selesai sudah persiapan database sekarang kita pindah ke bagian PHP sourcenya. Disini kita akan membuat beberapa file untuk proses pendaftaran dan login yang sudah terdaftar. 1. daftar.php, adalah file yang berisi form untuk pendaftaran bagi yang belum terdaftar 2. login.php, adalah file yang berisi form untuk proses login bagi yang sudah terdaftar sekarang kita mulai dengan daftar.php lumayan panjang sih… disini saya juga memberikan beberapa tips untuk javascript bagaimana untuk validasi penulisan email yang benar. <?php session_start(); //your mysql access for host user password, database and table prefix $prefix="phpschool_"; $sqlhost="localhost"; $sqluser="ipen"; $sqlpasswd="n0limited"; $sqldb="stieven"; $conn=mysql_connect("$sqlhost","$sqluser","$sqlpasswd") or die("<p align=center>CAN NOT CONNECT TO MYSQL SERVER"); mysql_query("use $sqldb"); //Global variable register PHP 4.23 or more only extract($_SERVER,"EXTR_PREFIX_SAME"); extract($HTTP_ENV_VARS,"EXTR_PREFIX_SAME"); extract($HTTP_GET_VARS,"EXTR_PREFIX_SAME"); extract($HTTP_POST_VARS,"EXTR_PREFIX_SAME"); $file_name=$HTTP_POST_FILES["file"]["name"]; $file_size=$HTTP_POST_FILES["file"]["size"]; $file_tmp=$HTTP_POST_FILES["file"]["tmp_name"]; $file_type=$HTTP_POST_FILES["file"]["type"]; if ($logout) {
  • 3. Kuliah Umum IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com 3 unset($HTTP_SESSION_VARS["userakses"]); unset($HTTP_SESSION_VARS["userfullname"]); unset($HTTP_SESSION_VARS["usermode"]); unset($HTTP_SESSION_VARS["useremail"]); unset($HTTP_SESSION_VARS["useradmin"]); unset($HTTP_SESSION_VARS["userlastlogin"]); } $thisVersion=phpversion(); $php_version=explode(".",$thisVersion); $phpversion=$php_version[0] . $php_version[1]; $gmt=date("Z"); $namaBulan=array("null","Januari","Februari","Maret","April","Mei","Juni","Juli","Agustu s","September","Oktober","November","Desember"); if (!$HTTP_SESSION_VARS["userakses"]) { if ($submitdaftar) { $user_name=strtolower(strip_tags(trim($user_name))); $user_pass=strip_tags(trim($user_pass)); $user_fullname=strip_tags(trim($user_fullname)); $user_address=strip_tags(trim($user_address)); $user_telepon=strip_tags(trim($user_telepon)); $tempat_lahir=strip_tags(trim($tempat_lahir)); $nama_status=strip_tags(trim($nama_status)); $alamat_status=strip_tags(trim($alamat_status)); $hostname=gethostbyaddr($REMOTE_ADDR); $note=strip_tags(trim($note)); //ceking $getUser=mysql_query("insert into ". $prefix ."user (user_name, user_pass, user_mode, user_email, user_fullname, user_address, user_telepon, tempat_lahir, tgl_lahir, date_register, user_ipaddress, user_hostname, note, last_login) values ('$user_name','$user_pass','$mode','$user_email','$user_fullname','$user_address','$user _telepon','$tempat_lahir', '$thn_lahir-$bln_lahir-$tgl_lahir','". date("U") ."','". $REMOTE_ADDR ."', '$hostname','$note', '". date("U") ."' ) "); if ($getUser) { $regOK="ok"; $msgError="<br><p align=center>$user_fullname Selamat Bergabung dengan Kami<p>"; } else { $fname=str_replace(".","",$user_fullname); $fname=str_replace(",","",$fname); $fname=explode(" ",$fname); $username[0]=strtolower($user_name . rand(1000,2000)); $username[1]=strtolower($fname[0]. "_" .$fname[1]); $username[2]=strtolower($fname[count($fname)-1]. "_" .$fname[0]); $msgError=" <br><p align=center><b>$user_name</b> tidak dapat di daftar<br>Kemungkinan terbesar sudah pernah didaftar Coba Pilih yang lain misalkan<br> <ul> <li>$username[0] <li>$username[1] <li>$username[2] </ul> <p>"; unset($user_name); } } ?> <script> function cekuser() { if ((document.daftar.user_name.value.length < 4) || (document.daftar.user_name.value.length > 255)) { alert('Panjang Karakter untuk username harus minimal 4'); document.daftar.user_name.focus(); return false; } else {
  • 4. Kuliah Umum IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com 4 if (document.daftar.user_name.value.indexOf(" ") >= 0) { alert('Jangan ada spasi pada isian username dan password'); document.daftar.user_name.focus(); return false; } else { return emailbenar(document.daftar.user_email.value); } } } function ceknotchar(ftr) { var charnot=new Array ('*','%','@','`','"',"'",'$','#','~','(',')','!','^','&','.',',','*',';',':','<','>','[' ,']','{','}','|','','+','=','?','/'); for (i=0;i<=charnot.length;i++) { charsek1=ftr.indexOf(charnot[i]); if (charsek1 >= 0) { alert('Tidak di ijinkan menggunakan karakter "' + charnot[i] + '"');document.daftar.user_name.focus();return false; } } return cekFmValid(); } function cekFmValid() { if ( (document.daftar.user_fullname.value.length < 1) || (document.daftar.user_address.value.length < 1) || (document.daftar.nama_status.value.length < 1) || (document.daftar.alamat_status.value.length < 1) || (document.daftar.tempat_lahir.value.length < 1) || (document.daftar.status.value == "") ) { alert('Ada form yang belum diisi, kamu harus mengisi semua form'); return false; } else { if (document.daftar.mode.value == "none") { alert('Mode Daftar belum di pilih'); document.daftar.mode.focus(); return false; } } } function emailbenar(str) { var cek1=str.indexOf("@"); if (cek1 <= 0) { alert('Alamat Email harus disi dengan benar. Kesalahan pada tanda "@"'); document.daftar.user_email.focus(); return false; } else { var cek2=str.lastIndexOf("."); //alert(cek2 + '-' + cek1); if (cek2 <= cek1+1) { alert('Alamat Email harus disi dengan benar. Kesalahan pada tanda "."'); document.daftar.user_email.focus(); return false; } else { cek3=document.daftar.user_email.value.length; if (cek2 == cek3-1) { alert('Anda masih salah dalam penulisan email setalah tanda "." masih belum lengkap!'); document.daftar.user_email.focus(); return false; } else { if (str.indexOf(" ") >= 0) { alert('Tidak boleh ada spasi dalam penulisan email'); return false; } } //alert('True');
  • 5. Kuliah Umum IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com 5 return ceknotchar(document.daftar.user_name.value); } return false; } return false; } function setMode() { if (document.daftar.mode.value >=1) { document.daftar.tahun_masuk.disabled=false; } else { document.daftar.tahun_masuk.disabled=true; document.daftar.tahun_lulus.disabled=true; } } function setTahunlulus(defTahun) { if (document.daftar.tahun_masuk.value < defTahun) { document.daftar.tahun_lulus.disabled=false; } else { document.daftar.tahun_lulus.disabled=true; } if ((document.daftar.mode.value == "none") || (document.daftar.mode.value == "")) { document.daftar.tahun_lulus.disabled=true; } } </script> <table width="98%" border="0" align="center" cellpadding="4" cellspacing="2"> <tr> <td align="left" valign="top" style="border:1px solid #363635;text-align:justify"> <?php echo $msgError; if ($regOK != "ok") { ?> <form name="daftar" method="post" action="" onSubmit="return cekuser();"> <table width="100%" border="0" cellspacing="1" cellpadding="3"> <tr align="left" valign="top"> <td width="25%">Username</td> <td width="75%"><input name="user_name" value="<?php echo $user_name; ?>" type="text" id="user_name" style="width:180" maxlength="12"> <br> <font color="#666666">Minimal 4 karakter, gunakan kombinasi huruf dan angka dan tanda &quot;_&quot; (underline)</font></td> </tr> <tr align="left" valign="top"> <td>Password</td> <td><input name="user_pass" type="password" id="user_pass" style="width:180"> <br> <font color="#666666">Minumal 8 karakter, case sensitif (Huruf besar/Kapital) memiliki perbedaan dengan huruf kecil</font></td> </tr> <tr align="left" valign="top"> <td>Email</td> <td><input name="user_email" type="text" id="user_email" value="<?php echo $user_email; ?>" style="width:180"> <br> <font color="#666666">Penulisan bentuk email harus tepat Contoh : [email protected] dan email harus yang masih aktif</font></td> </tr> <tr align="left" valign="top"> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr align="left" valign="top"> <td>Nama Lengkap</td> <td><input name="user_fullname" value="<?php echo $user_fullname; ?>" type="text" id="user_fullname" style="width:180"></td> </tr> <tr align="left" valign="top"> <td>Alamat</td> <td><input name="user_address" type="text" value="<?php echo $user_address; ?>" id="user_name6" style="width:180"></td> </tr> <tr align="left" valign="top"> <td>Telepon</td>
  • 6. Kuliah Umum IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com 6 <td><input name="user_telepon" type="text" value="<?php echo $user_telepon; ?>" id="user_name7" style="width:180"></td> </tr> <tr align="left" valign="top"> <td>Tempat Lahir</td> <td><input name="tempat_lahir" type="text" value="<?php echo $tempat_lahir; ?>" id="user_name8" style="width:180"> </td> </tr> <tr align="left" valign="top"> <td>Tanggal Lahir</td> <td><select name="tgl_lahir"> <?php for ($t=1;$t<=31;$t++) { $tt=date("d"); $tt=$tgl_lahir; if ($t == $tt) { echo "<option value="$t" selected>$t</option>"; } else { echo "<option value="$t">$t</option>"; } } ?> </select> <select name="bln_lahir"> <?php for ($t=1;$t<=12;$t++) { $tt=date("m"); $tt=$bln_lahir; if ($t == $tt) { echo "<option value="$t" selected>$namaBulan[$t]</option>"; } else { echo "<option value="$t">$namaBulan[$t]</option>"; } } ?> </select> <select name="thn_lahir"> <?php for ($t=1940;$t<=date("Y")-10;$t++) { $tt=date("Y")-22; $tt=$thn_lahir; if ($t == $tt) { echo "<option value="$t" selected>$t</option>"; } else { echo "<option value="$t">$t</option>"; } } ?> </select> </td> </tr> <tr align="left" valign="top"> <td>Note</td> <td><textarea name="note" id="note" style="width:180;height:70"><?php echo $note; ?></textarea></td> </tr> <tr align="left" valign="top"> <td>&nbsp;</td> <td><input name="submitdaftar" type="submit" id="submitdaftar" value="D A F T A R"></td> </tr> </table> </form> <script> setTahunlulus(<?php echo date("Y"); ?>); setMode(); </script> <?php } ?> </td> </tr> </table> <?php } else { echo "<p align=center>Kamu sudah terdaftar dengan akses ". $HTTP_SESSION_VARS["userakses"] ."! <p align=center> <a href="?logout=1">Logout</a>"; }
  • 7. Kuliah Umum IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com 7 ?> Sekarang kita beralih ke login.php <?php session_start(); //your mysql access for host user password, database and table prefix $prefix="phpschool_"; $sqlhost="localhost"; $sqluser="ipen"; $sqlpasswd="n0limited"; $sqldb="stieven"; $conn=mysql_connect("$sqlhost","$sqluser","$sqlpasswd") or die("<p align=center>CAN NOT CONNECT TO MYSQL SERVER"); mysql_query("use $sqldb"); //Global variable register PHP 4.23 or more only extract($_SERVER,"EXTR_PREFIX_SAME"); extract($HTTP_ENV_VARS,"EXTR_PREFIX_SAME"); extract($HTTP_GET_VARS,"EXTR_PREFIX_SAME"); extract($HTTP_POST_VARS,"EXTR_PREFIX_SAME"); $file_name=$HTTP_POST_FILES["file"]["name"]; $file_size=$HTTP_POST_FILES["file"]["size"]; $file_tmp=$HTTP_POST_FILES["file"]["tmp_name"]; $file_type=$HTTP_POST_FILES["file"]["type"]; $thisVersion=phpversion(); $php_version=explode(".",$thisVersion); $phpversion=$php_version[0] . $php_version[1]; $gmt=date("Z"); $namaBulan=array("null","Januari","Februari","Maret","April","Mei","Juni","Juli","Agustu s","September","Oktober","November","Desember"); if ($logout) { unset($HTTP_SESSION_VARS["userakses"]); unset($HTTP_SESSION_VARS["userfullname"]); unset($HTTP_SESSION_VARS["usermode"]); unset($HTTP_SESSION_VARS["useremail"]); unset($HTTP_SESSION_VARS["useradmin"]); unset($HTTP_SESSION_VARS["userlastlogin"]); } if ($login) { if (!$HTTP_SESSION_VARS["userakses"]) { $getLogin=mysql_query("select * from ". $prefix ."user where user_name='$user_name'"); $thisLogin=mysql_fetch_array($getLogin); if (!$thisLogin[user_name]) { $errorLogin="<script>alert('$user_name tidak terdaftar')</script>"; } else { if ($user_pass == $thisLogin[user_pass]) { $HTTP_SESSION_VARS["userakses"]=$thisLogin[user_name]; $HTTP_SESSION_VARS["userfullname"]=$thisLogin[user_fullname]; $HTTP_SESSION_VARS["usermode"]=$thisLogin[user_mode]; $HTTP_SESSION_VARS["useremail"]=$thisLogin[user_email]; $HTTP_SESSION_VARS["useradmin"]=$thisLogin[admin]; $HTTP_SESSION_VARS["userlastlogin"]=$thisLogin[last_login]; $HTTP_SESSION_VARS["userhostname"]=$thisLogin[user_hostname]; $HTTP_SESSION_VARS["useripaddress"]=$thisLogin[user_ipaddress]; $hostname=gethostbyaddr($REMOTE_ADDR); mysql_query("update ". $prefix ."user set user_hostname='$hostname', user_ipaddress='". $REMOTE_ADDR ."', last_login='". date("U") ."' where user_name='$user_name'"); }
  • 8. Kuliah Umum IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com 8 else { $errorLogin="<script>alert('$user_name password tidak tepat')</script>"; } } } } ?> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <?php echo $errorLogin; if (!$HTTP_SESSION_VARS["userakses"]) { ?> <form name="form1" method="post" action=""> <p align="center">Username<br> <input name="user_name" type="text" id="user_name" style="width:180"> <br> Password <br> <input name="user_pass" type="password" id="user_pass" style="width:180"> </p> <p align="center"> <input type="submit" name="login" value="Submit" style="border-bottom:2px solid #363635;border-right:2px solid #363635;border-top:2px solid #82817F;border-left:2px solid #82817F;"> </p> </form> <center><a href="daftar.php">Daftar Disini</a></center> <?php } else { echo "Kamu sudah login dengan akses ". $HTTP_SESSION_VARS["userakses"] ." <p> <a href="?logout=1">Logout</a>"; } ?> </body> </html> Script source ini hasil modifikasi dari PHPSchool v.2.0 September 2003 untuk download source lengkapnya silahkan download di www.php.wox.org/ipen_v2/tutor/php/daftar_login.zip jika ada kesulitan bisa hubungi di http://www.php.wox.org atau email: [email protected] Contohnya dapat di lihat di http://phpschool.kawanuanetworks.com/phpschool2/ Selamat mencoba! “Bagaimana mewujudkan sesuatu yang tidak mungkin menjadi mungkin ? hanya ada satu jawaban. BERANI MENCOBA!” (by ipen). Terima Kasih untuk Christy yang telah menemani dalam penulisan artikel ini walau dalam keadaan sakit. Cepat sembuh ya. ☺