Translate to your languages

Selamat Datang . Suatu kehormatan bagi saya atas kunjungan ini. Saya sangat berharap kunjungan berikutnya.

07 Februari 2009

Php & mysql

TUTORIAL PHP

PHP adalah bahasa pemrograman web berbasis server-side. PHP menjadi bahasa mayoritas dalam membuat website. Keuntungan dari PHP adalah bahasanya yang mudah dimengerti karena di adopsi dari bahasa C, free dan effisien. PHP juga bisa di embeded dengan bahasa HTML yang merupakan bahasa standart untuk membuat website. PHP membuat website lebih dinamis dan atraktif. PHP bisa berjalan di semua platform (Windows, Linux, Unix, dll). PHP juga bisa berjalan di server-server web (Apache, IIS, dll).

Bagaimana menggunakan PHP?
1.Install web server (Apache atau IIS) di windows atau linux
2.Install PHP
3.Install Mysql atau Postgree sebagai databasenya.

Dari mana dapat software-software di atas? Klik aja link di bawah ini.

Download PHP -> http://www.php.net/downloads.php
Download MySQL -> http://www.mysql.com/downloads/index.html
Download Apache server -> http://httpd.apache.org/download.cgi

Contoh syntax PHP
<html>
<body>
<?php echo "Hello world"; ?>
</body>
</html>

Comment di PHP
Comment digunakan untuk mencatat sesuatu di dalam coding PHP agar dalam menulis sebuah program kita tidak lupa arti syntax-syntax yang kita tulis. Comment tidak di eksekusi oleh php. Contoh comment :
<?php

// ini adalah comment untuk satu baris
echo "Hello world";

/*
ini adalah comment untuk
lebih dari satu baris
*/
echo "Hello world";

?>

Variable di PHP
Untuk menulis variable di php dimulai dengan tanda $. Nama variable harus ditulis dengan carakter angka-huruf dan underscore ( _ ). Jika nama variable lebih dari satu kata maka digunakan underscore. Contoh:
<html>
<body>
<?php
$kata = "Hello world";
echo $kata;
$latihan_php = "Latihan php";
echo $latihan_php;
?>
</body>
</html>

Operator di PHP
Di dalam php terdapat 4 jenis operator diantaranya :
1.Arithmetic Operators (operator untuk perhitungan)
2.Assignment Operators (operator untuk mendefinisikan variable)
3.Comparasion Operators (operator perbandingan)
4.Logical Operators (Operator logika)

Arithmetic Operators

Operator

Description

Example

Result

+

penjumlahan

x=2, x+2

4

-

pengurangan

x=2, 5-x

3

*

perkalian

x=2, x*3

6

/

pembagian

x=2, 10/x

5

%

modulus/hasil bagi

x=2, 10%x

0

++

increment

x=1, x++

2

--

decrement

x=4, x--

3



Comparation Operators
Operator
Description
Example
==
sama dengan
5==8 return false
!=
tidak sama dengan
5!=8 return true
>
lebih dari
5>8 return false
<
kurang dari
5<8 return true
>=
lebih dari sama dengan
5>=8 return false
<=
kurang dari sama dengan
5<=8 return true

Logical Operators
Operator
Description
Example
&&
and
x=2, y=3
(x<5 && y>2) return true
||
or
x=2, y=3
(x<1 || y>2) return true
!
not
x=2, y=3
!(x==y) return true

Statement If..Else di PHP
Statement If..Else digunakan jika terdapat 2 kondisi. Gunakan statement if jika kondisi true dan else jika kondisi false. Contoh :

<html>
<body>
<?php
$d=date("D");
if($d=="FRI")
echo "Sekarang hari Jumat";
else
echo "Sekarang bukan hari Jumat";
?>
</body>
</html>


Statement If..Elseif di PHP
Statement If..Elseif digunakan jika terdapat lebih dari 2 kondisi. Gunakan statement if jika kondisi pertama true dan elseif jika kondisi kedua true dan seterusnya.

<html>
<body>
<?php
$d=date("D");
if($d=="Fri")
echo "Sekarang hari Jumat";
elseif($d=="Sat")
echo "Sekarang hari Sabtu";
else
echo "Sekarang bukan hari Jumat atau Sabtu";
?>
</body>
</html>


Membuat Guestbook dengan PHP

Dalam pembuatan sebuah website yang dinamis setiap programmer web sering menggunakan database sebagai datanya. PHP sendiri mendukung database-database yang ada seperti MySQL, Postgres, Ms. Access, dll. Kali ini saya akan menerangkan bagaimana cara membuat sebuah aplikasi guestbook, mulai dari input dari user sampai menampilkan data ke halaman web. Database yang saya pakai adalah MySQL.


Pertama kita akan membuat table dengan nama guestbook.

Berikut scriptnya (gunakan script sql ini supaya anda memahami script SQL nya) :

CREATE TABLE guestbook (
id int(10) auto_increment,
dikirim varchar(20),
nama varchar(30),
email varchar(30),
alamat varchar(50),
kota varchar(50),
PRIMARY KEY (id)
);


Selanjutnya kita akan membuat file dengan nama database.php. File ini digunakan untuk koneksi ke database MySQL. berikut ini adalah isi dari file database.php :

<?php
$db_hostname="localhost";
$db_username="root"; // username anda
$db_password=""; // password anda
$db_name="latihan"; // nama database anda

function connect_db() {
global $db_hostname, $db_username, $db_password, $db_name;
$conn = mysql_connect($db_hostname, $db_username, $db_password) or die ("Sorry cannot connect to the database because: " . mysql_error());;
mysql_select_db($db_name);
}

function close_db() {
mysql_close($conn);
}
?>

Selanjutnya kita akan membuat file dengan nama form_guestbook.php . File ini digunakan untuk inputan dari user. Berikut ini adalah isi dari file form_guestbook.php : (untuk lebih memudahkan dalam pembuatan halaman web, silahkan anda gunakan software seperti Dreamweaver/FrontPage).

<html>
<head><title>Guestbook</title></head>
<body>
<form method=post action=insert_guestbook.php>
<h2>Form Guestbook</h2>
<table>
<tr><td>Nama</td><td><input type=text name=nama size=20></tr>
<tr><td>Email</td><td><input type=text name=email size=30></tr>
<tr><td>Alamat</td><td><textarea name=alamat rows=10 cols=30></textarea></tr>
<tr><td>Kota</td><td><input type=text name=kota size=30></tr>
<tr><td></td><td><input type=submit name=tombol value=Kirim></tr>
</table>
</form>
</body>
</html>

Selanjutnya kita akan membuat file dengan nama insert_guestbook.php. File ini digunakan untuk memasukkan data kedalam database mysql. Berikut ini adalah isi dari file insert_guestbook.php :

<?php

require_once("database.php"); //memanggil file database.php

connect_db(); // memanggil fungsi connect_db yang ada di file database.php
if($_POST["tombol"]=="Kirim")
{
$nama=$_POST["nama"];
$email =$_POST["email"];
$alamat =$_POST["alamat"];
$kota =$_POST["kota"];
$dikirim=date("d-m-y");

$query="INSERT INTO guestbook(dikirim, nama, email, alamat, kota) VALUES(`$dikirim`, `$nama`, `$email`, `$alamat`, `$kota`)";
$result=mysql_query($query);
if($result){
close_db();
echo "data berhasil disimpan";
}else{
echo "data gagal disimpan";
}
}

?>

Selanjutnya kita akan membuat file dengan nama daftar_guestbook.php. File ini digunakan untuk menampilkan data yang di inputkan oleh user. Berikut ini adalah isi dari file daftar_guestbook.php :

<html>
<head><title>Daftar Guestbook</title></head>
<body>
<?php
require_once("database.php");
connect_db();

$query=mysql_query("SELECT * FROM guestbook");
$row=mysql_fetch_row($query);
if(!$row)
echo "tabel guestbook kosong";
else
{
echo "<h2>Daftar Guestbook</h2>";
echo "<table border=1>";
echo "<tr>";
echo "<td>Nama</td>";
echo "<td>Email</td>";
echo "<td>Alamat</td>";
echo "<td>Kota</td>";
echo "</tr>";

do{
list($id,$nama,$email,$alamat,$kota)=$row;
echo "<tr>";
echo "<td>$nama</td>";
echo "<td>$email </td>";
echo "<td>$alamat</td>";
echo "<td>$kota</td>";
echo "</tr>";
}while($row=mysql_fetch_row($query));
}

?>
</body>
</html>



Session pada form login

Untuk mencegah seseorang yang tidak mempunyai hak, masuk ke halaman tertentu biasanya kita menggunakan session. Intinya ketika seseorang membuka halaman yang penting, maka sistem akan menanyakan apakah user sudah login atau belum. Sistem akan memeriksa session yang telah didefinisikan ketika user melakukan login. Berikut ini saya akan mencontohkan bagaimana sistem tersebut berjalan.

Pertama kita harus membuat tabel user di dalam database MySQL.

CREATE TABLE `user` (
`username` varchar(30) NOT NULL,
`password` varchar(40),
`nama` varchar(30),
PRIMARY KEY (`username`)
);

INSERT INTO `user` ( `username` , `password` , `nama` )
VALUES (`admin`, MD5( `admin` ) , `admin`);

Selanjutnya kita akan membuat file database.php untuk koneksi ke database MySQL

<?php
$db_hostname="localhost";
$db_username="root"; // username anda
$db_password=""; // password anda
$db_name="latihan"; // nama database anda

function connect_db() {
global $db_hostname, $db_username, $db_password, $db_name;
$conn = mysql_connect($db_hostname, $db_username, $db_password) or die (`Sorry cannot connect to the database because: ` . mysql_error());;
mysql_select_db($db_name);
}
?>

Kemudian buatlah file form_login.php untuk melakukan login.

<html>
<head><title>Login</title></head>
<body>
<form method=post action=cek_login.php>
<font align=center><h2>Form Login</h2></font>
<table align=center>
<tr><td>Username</td><td><input type=text name=username size=20></tr>
<tr><td>Password </td><td><input type=password name=password size=20></tr>
<tr><td></td><td><input type=submit name=tombol value=Login ></tr>
</table>
</form>
</body>
</html>

Selanjutnya buatlah file cek_login.php untuk melakukan pengecekan data pada tabel user.

<?php
session_start();
require_once("database.php"); //memanggil file database.php

connect_db(); // memanggil fungsi connect_db yang ada di file database.php
if($_POST["tombol"]=="Login")
{
$username =$_POST["username"];
$password =md5($_POST["password"]);

$query="SELECT * FROM user where username=`$username` and password=`$password`";
$result=mysql_query($query);

if(mysql_num_rows($result)>0)
{
list ($username,$password,$nama) = mysql_fetch_row($result);
$_SESSION[`username`]=$username;
header(`location: login_sukses.php`);
exit;
}
else
{
echo "Maaf password salah";
}
}
?>

Selanjutnya buatlah file login_sukses.php. File ini digunakan jika user berhasil melakukan login. File ini juga akan melakukan pemeriksaan apakah session sudah di definisikan atau belum.

<?php
session_start();

if(!isset($_SESSION[`username`]))
{
header(`location: form_login.php`);
exit;
}

/*
isi file anda
*/
echo "Login sukses";
echo "<br><a href=logout.php>Logout</a>";
?>

Kemudian buatlah file logout.php

<?php
session_start();
UNSET($_SESSION[`username`]);
session_destroy();
header(`location: form_login.php`);
exit;
?>



Upload dan Download File

Sebenarnya dalam upload file sendiri terdapat dua jenis yaitu menyimpan file ke direktori kita dan yang kedua adalah menyimpan file ke database MySQL. Kali ini saya akan menerangkan bagaimana caranya upload dan download file dan menyimpannya ke direktori kita.

Langkah pertama kita akan membuat table yang berfungsi untuk menyimpan data dari file yang akan di upload. Kenapa data dari file tersebut harus disimpan? tujuannya adalah agar memudahkan dalam melakukan download.

Buatlah tabel dengan nama upload

CREATE TABLE `upload` (
`fileid` int(11) NOT NULL auto_increment,
`filename` varchar(30),
`type` varchar(40),
`size` int(11),
`path` varchar(20),
PRIMARY KEY (`fileid`)
);

Selanjutnya kita akan membuat file database.php untuk koneksi ke database MySQL

<?php
$db_hostname="localhost";
$db_username="root"; // username anda
$db_password=""; // password anda
$db_name="latihan"; // nama database anda

function connect_db() {
global $db_hostname, $db_username, $db_password, $db_name;
$conn = mysql_connect($db_hostname, $db_username, $db_password) or die (`Sorry cannot connect to the database because: ` . mysql_error());;
mysql_select_db($db_name);
}
?>

Kemudian kita buat form untuk upload file. Simpan file tersebut dengan nama form_upload.php

<html>
<head><title>Upload</title></head>
<body>
<font align=center><h2>Form Upload</h2></font>
<form action="upload.php" method="post" enctype="multipart/form-data" name="uploadform">
<table align=center>
<tr><td>File</td><td><input name="userfile" type="file"></td></tr>
<tr><td></td><td><input name="tombol" type="submit" value="Upload"></td></tr>
</table>
</form>
</body>
</html>

Selanjutnya buatlah file upload.php untuk menyimpan data file ke tabel upload. Di dalam file upload.php terdapat variable $uploadDir, variable ini berisi path / folder yang berfungsi untuk menyimpan file yang telah di upload. Untuk itu ubah hak akses folder tersebut agar bisa di isi file.

<?php
require_once("database.php"); //memanggil file database.php

connect_db(); // memanggil fungsi connect_db yang ada di file database.php
if($_POST["tombol"])
{
$fileName = $_FILES[`userfile`][`name`];
$tmpName = $_FILES[`userfile`][`tmp_name`];
$fileSize = $_FILES[`userfile`][`size`];
$fileType = $_FILES[`userfile`][`type`];

$uploadDir = `C:/xampp/htdocs/upload/`;
$filePath = $uploadDir . $fileName;

$result = move_uploaded_file($tmpName, $filePath);
if (!$result) {
$error_message="Error uploading file";
include("admin_error.php");
}

if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
$filePath = addslashes($filePath);
}

$query = "INSERT INTO upload(filename,type,size,path) VALUES (`$fileName`, `$fileType`, `$fileSize`, `$fileName`)";
$result=mysql_query($query);
if($result){
echo "upload file berhasil dilakukan <br> <a href=`daftar_file.php`>Daftar File</a>";
}else{
echo "<br>File can`t uploaded<br>";
}
}
?>

Selanjutnya kita akan membuat file dengan nama daftar_file.php. File ini digunakan untuk menampilkan data yang di inputkan oleh user.

<html>
<head><title>Daftar File</title></head>
<body>
<?php
require_once("database.php");
connect_db();

$query=mysql_query("SELECT * FROM upload");
$row=mysql_fetch_row($query);
if(!$row)
echo "tabel upload kosong";
else
{
echo "<h2>Daftar File</h2>";
echo "<table border=1>";
echo "<tr>";
echo "<td>Nama File</td>";
echo "<td>Type</td>";
echo "<td>Size</td>";
echo "<td>Download</td>";
echo "</tr>";

do{
list($fileid,$filename,$type,$size,$path)=$row;
echo "<tr>";
echo "<td>$filename</td>";
echo "<td>$type</td>";
echo "<td>$size</td>";
echo "<td><a href=download.php?fileid=$fileid>Download</a></td>";
echo "</tr>";
}while($row=mysql_fetch_row($query));
}

?>
</body>
</html>

Selanjutnya kita akan membuat file download.php untuk melakukan download.

<?php
require_once("database.php");
connect_db();
if(isset($_GET[`fileid`]))
{
$id = $_GET[`fileid`];
$query = "SELECT * FROM upload WHERE fileid = $id";
$result = mysql_query($query) or die(`Error, query failed`);
list($fileid,$filename,$type,$size,$path)=mysql_fetch_array($result);

header("Content-Disposition: attachment; filename=$filename");
header("Content-length: $size");
header("Content-type: $type");

readfile(upload/$path);
}

?>



Pengolahan Data

Sebagai programmer pelajaran yang harus kita pelajari salah satunya adalah bagaimana mengolah data. Kali ini saya akan mengajarkan bagaimana proses insert, update, delete dalam sebuah web dengan menggunakan database MySQL. Sebagai studi kasus saya membuat tabel mahasiswa. Namun sebelumnya saya akan menjelaskan method-method untuk pengiriman data.

Terdapat dua metode dalam pengiriman data yaitu :

1. Post

Data yang dikirim menggunakan method post tidak terlihat. Untuk mengambil data yang dikirim dengan method post yaitu dengan cara $_POST['nama_input'].

2. Get

Sedangkan data yang dikirim menggunakan method get akan terlihat di address bar, contoh : http://localhost/hapus_data.php?nrp=1234&nama=ade. Dari contoh tersebut variable yang dikirim ada dua yaitu nrp dan nama. Untuk mengambil variable yang dikirim yaitu dengan cara $_GET['nrp'] dan $_GET['nama'].


Baik, kita mulai praktikumnya. Langkah pertama buatlah table mahasiswa.


CREATE TABLE mahasiswa (

nrp varchar(30) NOT NULL,

nama varchar(40),

jurusan varchar(30),

gender varchar(30),

agama varchar(30),

PRIMARY KEY (nrp)

);


Selanjutnya buatlah file database.php untuk koneksi ke database MySQL.


<?php

$db_hostname="localhost";

$db_username="root"; // username anda

$db_password=""; // password anda

$db_name="latihan"; // nama database anda


function connect_db() {

global $db_hostname, $db_username, $db_password, $db_name;

$conn = mysql_connect($db_hostname, $db_username, $db_password) or die ('Sorry cannot connect to the database because: ' . mysql_error());;

mysql_select_db($db_name);

}

?>


Kemudian buatlah file form_input.php. File ini digunakan untuk memasukkan data dari halaman website.

<html>

<head><title>Input Data Mahasiswa</title></head>

<body>

<form method=post action=insert_mahasiswa.php>

<font align=center><h2>Form Input Data Mahasiswa</h2></font>

<table align=center>

<tr><td>Nrp</td><td><input type=text name=nrp size=20></td></tr>

<tr><td>Nama</td><td><input type=password name=nama size=20></td></tr>

<tr><td>Jurusan</td><td><select name=jurusan>

<option value="IT">IT</option>

<option value="Elka">Elka</option>

<option value="Telkom">Telkom</option>

<option value="Elin">Elin</option>

</select></td></tr>

<tr><td>Gender </td><td><input type=radiobutton name=gender value="laki-laki">Laki-Laki<input type=radiobutton name=gender value=perempuan>Perempuan </td></tr>

<tr><td>Agama </td><td><select name=agama>

<option value=islam>Islam</option>

<option value=kristen>Kristen</option>

<option value=budha >Budha</option>

<option value=hindu>Hindu</option>

<option value=konghucu>Konghucu</option>

</select></td></tr>

<tr><td></td><td><input type=submit name=tombol value=Simpan></tr>

</table>

</form>

</body>

</html>


Selanjutnya kita buat file insert_mahasiswa.php. File ini berfungsi untuk melakukan insert ke database MySQL.


<?php

require_once("database.php"); //memanggil file database.php


connect_db(); // memanggil fungsi connect_db yang ada di file database.php

if($_POST["tombol"]=="Simpan")

{

// validasi input

$nrp = strip_tags(trim($_POST["nrp"]));

$nama = strip_tags(trim($_POST["nama"]));

$jurusan = strip_tags(trim($_POST["jurusan"]));

$gender = strip_tags(trim($_POST["gender"]));

$agama = strip_tags(trim($_POST["agama"]));


$result=mysql_query("SELECT * FROM mahasiswa WHERE nrp='$nrp'");

$jumlah=mysql_num_rows($result);


// cek jika inputan kosong

if(empty($nrp))

echo "Masukkan Nrp";

elseif(empty($nama))

echo "Masukkan Nama";

elseif($jumlah>0) // cek apakah nrp sudah ada atau belum

echo "Nrp sudah ada";

else

{

$result=mysql_query("INSERT INTO mahasiswa VALUES('$nrp', '$nama', '$jurusan', '$gender', '$agama')");

if($result)

{

echo "data berhasil disimpan";

header('Location: daftar_mahasiswa.php');

exit;

}

else

echo "data gagal disimpan";

}

}

?>


Kemudian buat file dengan nama daftar_mahasiswa.php. File ini digunakan untuk melihat daftar mahasiswa. Selain untuk melihat data mahasiswa halaman ini juga mempunyai link untuk edit dan delete data. Link tersebut akan melempar variable nrp dari masing-masing mahasiswa dengan method GET.


<html>

<head><title>Daftar Mahasiswa</title></head>

<body>

<?php

require_once("database.php");

connect_db();


$query=mysql_query("SELECT * FROM mahasiswa");

$row=mysql_fetch_row($query);

if(!$row)

echo "tabel mahasiswa kosong";

else

{

echo "<h2>Daftar Mahasiswa</h2>";

echo "<table border=1>";

echo "<tr>";

echo "<td>Nrp</td>";

echo "<td>Nama</td>";

echo "<td>Jurusan</td>";

echo "<td>Gender</td>";

echo "<td>Agama</td>";

echo "<td colspan=2>Control</td>";

echo "</tr>";


do{

list($nrp,$nama,$jurusan,$gender,$agama)=$row;

echo "<tr>";

echo "<td>$nrp</td>";

echo "<td>$nama</td>";

echo "<td>$jurusan</td>";

echo "<td>$gender</td>";

echo "<td>$agama</td>";

echo "<td><a href=form_edit.php?nrp=$nrp>Edit</a></td>"; // melempar variable nrp

echo "<td><a href=hapus_data.php?nrp=$nrp>Hapus</a></td>";

echo "</tr>";

}while($row=mysql_fetch_row($query));

}


?>

</body>

</html>


Selanjutnya buat file dengan nama edit_mahasiswa.php. File ini digunakan untuk menghubungkan file daftar_mahasiswa.php dengan file form_edit.php. File ini akan menangkap variable yang dilempar dari file daftar_mahasiswa.php dengan metode get.


<?php

require_once("database.php");

connect_db();

if(isset($_GET['nrp']))

{

$nrp = $_GET['nrp'];

$query = "SELECT * FROM mahasiswa WHERE nrp = '$nrp'";

$result = mysql_query($query);

$jumlah =mysql_num_rows($result);


if($jumlah>0)

{

list($nrp,$nama,$jurusan,$gender,$agama)=mysql_fetch_row($result);


include("form_edit.php");

}

}

?>


Kemudian buat file form_edit.php. File ini digunakan untuk mengubah data mahasiswa.


<html>

<head><title>Input Data Mahasiswa</title></head>

<body>

<form method=post action=update_mahasiswa.php>

<font align=center><h2>Form Input Data Mahasiswa</h2></font>

<table align=center>

<tr><td>Nrp</td><td><input type=text name=nrp size=20 value="<? echo $nrp; ?>"></td></tr>

<tr><td>Nama</td><td><input type=text name=nama size=20 value="<? echo $nama; ?>"></td></tr>

<tr><td>Jurusan</td><td><select name=jurusan>

<?

if($jurusan=="IT")

echo "<option value='IT' selected>IT</option>";

else

echo "<option value='IT'>IT</option>";


if($jurusan=="Elka")

echo "<option value='Elka' selected>Elka</option>";

else

echo "<option value='Elka'>Elka</option>";


if($jurusan=="Telkom")

echo "<option value='Telkom' selected>Telkom</option>";

else

echo "<option value='Telkom'>Telkom</option>";


if($jurusan=="Elin")

echo "<option value='Elin' selected>Elin</option>";

else

echo "<option value='Elin'>Elin</option>";

?>

</select></td></tr>

<tr><td>Gender </td><td>

<?

if($gender=="laki-laki")

echo "<input type=radio name=gender value='laki-laki' checked>Laki-Laki<input type=radio name=gender value=perempuan>Perempuan</td></tr>";

else

echo "<input type=radio name=gender value='laki-laki'>Laki-Laki<input type=radio name=gender value=perempuan checked>Perempuan</td></tr>";

?>


<tr><td>Agama </td><td><select name=agama>

<?

if($agama=="islam")

echo "<option value=islam selected>Islam</option>";

else

echo "<option value=islam>Islam</option>";


if($agama=="kristen")

echo "<option value=kristen selected>Kristen</option>";

else

echo "<option value=kristen>Kristen</option>";


if($agama=="budha")

echo "<option value=budha selected>Budha</option>";

else

echo "<option value=budha>Budha</option>";


if($agama=="hindu")

echo "<option value=hindu selected>Hindu</option>";

else

echo "<option value=hindu>Hindu</option>";


if($agama=="konghucu")

echo "<option value=konghucu selected>Konghucu</option>";

else

echo "<option value=konghucu>Konghucu</option>";

?>

</select></td></tr>

<tr><td></td><td><input type=submit name=tombol value=Update></tr>

</table>

</form>

</body>

</html>


Selanjutnya buatlah file update_mahasiswa.php. File ini digunakan untuk menyimpan perubahan ke dalam database MySQL.


<?php

require_once("database.php"); //memanggil file database.php


connect_db(); // memanggil fungsi connect_db yang ada di file database.php

if($_POST["tombol"]=="Update")

{

// validasi input

$nrp = strip_tags(trim($_POST["nrp"]));

$nama = strip_tags(trim($_POST["nama"]));

$jurusan = strip_tags(trim($_POST["jurusan"]));

$gender = strip_tags(trim($_POST["gender"]));

$agama = strip_tags(trim($_POST["agama"]));


// cek jika inputan kosong

if(empty($nrp))

echo "Masukkan Nrp";

elseif(empty($nama))

echo "Masukkan Nama";

else

{

$result=mysql_query("UPDATE mahasiswa SET nama='$nama', jurusan='$jurusan', gender='$gender', agama='$agama' where nrp='$nrp'");

if($result)

{

echo "data berhasil diupdate";

}

else

echo "data gagal diupdate";

}

}

?>


Terakhir buatlah file hapus_mahasiswa.php. File ini digunakan untuk menghapus data mahasiswa. File ini akan menangkap variable yang dilempar dari file daftar_mahasiswa.php dengan metode get.


<?php

require_once("database.php");

connect_db();

if(isset($_GET['nrp']))

{

$nrp = $_GET['nrp'];

$query = "SELECT * FROM mahasiswa WHERE nrp = '$nrp'";

$result = mysql_query($query);

$jumlah =mysql_num_rows($result);


if($jumlah>0)

{

$result = mysql_query("DELETE FROM mahasiswa WHERE nrp='$nrp'");

if($result)

echo "data berhasil dihapus";

else

echo "data gagal dihapus";

}

}

?>



PHP Looping

Mengulang suatu proses merupakan tindakan yang banyak dijumpai dalam pemrograman. Pada semua bahasa pemrograman, pengulangan proses ditangani dengan suatu mekanisme yang disebut loop. Dengan menggunakan loop, suatu proses yang berulang misalnya menampilkan tulisan yang sama seratus kali pada layar dapat diimpelementasikan dengan kode program yang pendek.

Pada pemrograman proses perulangan dapat dibagi menjadi 2 bagian utama yaitu:

  1. Perulangan yang sudah di ketahui jumlah perulangannya sebelum perulangan tersebut di lakukan.
  2. Perulangan yang belum di ketahui jumlah perulangannya sebelum perulangan tersebut di lakukan.
    Dalam hal ini dapat dibagi menjadi dua bagian yaitu:
  3. kondisi perulangan diperiksa diawal perulangan.
  4. kondisi perulangan diperiksa diakhir perulangan.


Perulangan For

Untuk kasus 1 seharusnya menggunakan perulangan dengan penyataan for dan akan dipelajari pada praktikum ini. Sedangkan pada kasus 2a dan 2b akan dibahas pada praktikum selanjutnya

Bentuk pernyataan for :


for (ungkapan1; ungkapan2; ungkapan3)

pernyataan;


Keterangan:

  • Ungkapan1 : digunakan untuk memberikan inisialisasi terhadap variabel pengendali loop.
  • Ungkapan2 : dipakai sebagai kondisi untuk keluar dari loop.
  • Ungkapan3 : dipakai sebagai pengatur kenaikan nilai variabel pengendali
    loop.


Ketiga ungkapan dalam for tersebut harus dipisahkan dengan tanda titik koma (;). Dalam hal ini pernyatan bisa berupa pernyataan tunggal maupun jamak. Jika pernyataannya berbentuk jamak, maka pernyataan-pernyataan tersebut harus diletakkan di antara kurung kurawal buka ({) dan kurung kurawal tutup (}), sehingga formatnya menjadi :

for (ungkapan1; ungkapan2; ungkapan3)

{

pernyataan;

pernyataan;

.

.

.

}


Contoh perulangan for untuk menampilkan bilangan 1-100:

<?

for($i=1;$i<=100;$i++)

{

echo "Bilangan $i <br />";

}

?>


Perulangan While

Pada kasus point 2a. perulangan yang digunakan adalah perulangan while. Perulangan While Digunakan untuk membuat proses perulangan dimana akan memeriksa dahulu kondisi yang disyaratkan, bila kondisi benar maka akan dilakukan proses perulangan dan bila kondisi salah maka loop tidak dikerjakan. Kesalahan penentuan kondisi akan menyebabkan proses perulangan tak terhingga.


Contoh perulangan while :

<?

$hari=array (

"Minggu",

"Senin",

"Selasa",

"Rabu",

"Kamis",

"Jumat",

"Sabtu",

""

);

$i=0;

print "NAMA-NAMA HARI:<br>";

while($ada_hari=$hari[$i]) {

print "$ada_hari<br>";

$i++;

}

?>


Perulangan Do-While

Pada kasus point 2b perulangan yang digunakan adalah do-while. Hampir sama dengan pernyataan while, perbedaannya adalah kondisi diletakkan diakhir dari proses perulangan, sehingga proses dikerjakan dulu kemudian baru diperiksa kondisinya, sehingga paling tidak proses perulangan dilakukan sekali. Sama halnya dengan proses perulangan diatas bahwa kesalahan dalam menentukan kondisi menyebabkan proses perulangan yang tak terhingga, yang menyebabkan komputer "hang" (macet).


Contoh perulangan do-while:

<?

$hari=array (

"Minggu",

"Senin",

"Selasa",

"Rabu",

"Kamis",

"Jumat",

"Sabtu",

""

);

$i=0;

print "NAMA-NAMA HARI:<br>";

do {

print "$hari[$i]<br>";

$i++;

} while($i<7);

?>



Membuat Cuplikan Berita

Kali ini saya akan mengajarkan bagaimana membuat cuplikan berita seperti pada website detik.com, kompas.com ataupun jawapos.com


Langkah pertama buatlah table berita.


CREATE TABLE berita (

idberita int(11) auto_increment NOT NULL,

judul varchar(50),

isi text,

PRIMARY KEY (idberita)

);


Kemudian isi table berita dengan data berikut ini:


INSERT INTO berita(judul,isi) values('Sihir Ronaldinho telah kembali. Pemain yang akrab dipanggil Ronnie itu mengembalikan reputasinya di momen yang tepat. Tampil melempem di beberapa laga awal AC Milan, bintang penyerang asal Brazil tersebut menjadi pahlawan Milan dalam derby della madonnina ke-266 kemarin dini hari WIB (29/9). Gol tunggal Ronnie pada menit ke-37 mengantarkan Milan menang 1-0 atas Inter Milan di Stadion San Siro');


Selanjutnya buatlah file database.php untuk koneksi ke database MySQL.


<?php

$db_hostname="localhost";

$db_username="root"; // username anda

$db_password=""; // password anda

$db_name="latihan"; // nama database anda


function connect_db() {

global $db_hostname, $db_username, $db_password, $db_name;

$conn = mysql_connect($db_hostname, $db_username, $db_password) or die ('Sorry cannot connect to the database because: ' . mysql_error());

mysql_select_db($db_name);

}

?>


Kemudian buatlah file berita.php. File ini digunakan untuk menampilkan cuplikan berita.


<html>

<title>Cuplikan Berita</title>

<body>

<table>

<?php

require_once("database.php");

connect_db();

$query=mysql_query("select * from berita");

$row=mysql_fetch_row($query);

if($row)

{

do

{

list($idberita,$judul,$isi)=$row;

$isi2=substr($isi,0,200);

$isi3=substr($isi2,0,strrpos($isi2," "));


echo "<tr><td><h2><b>$judul</b></h2></td></tr>";

echo "<tr><td>$isi3...</td></tr>";

echo "<tr><td><a href='detail_berita.php?id=$idberita'>Selengkapnya</a></td></tr>";

}while($row=mysql_fetch_row($query));

}

?>

</table>

</body>


Selanjutnya kita akan membuat file detail_berita.php. File ini digunakan untuk menampilkan seluruh berita.


<html>

<title>Detail Berita</title>

<body>

<table>

<?php

require_once("database.php");

connect_db();

$idberita=$_GET["id"];

$query=mysql_query("select * from berita where idberita='$id'");

$row=mysql_fetch_row($query);

if($row)

{

do

{

list($idberita,$judul,$isi)=$row;

echo "<tr><td><h2><b>$judul</b></h2></td></tr>";

echo "<tr><td>$isi</td></tr>";

}while(mysql_fetch_row($query));

}

?>

</table>

</body>

</html>



Membuat Informasi Visitor/Pengunjung

Mengetahui informasi dari pengunjung website anda sangatlah penting. Misalkan informasi jumlah pengunjung yang mengunjungi halaman tertentu, informasi tentang IP Address pengunjung, informasi browser yang digunakan pengunjung, informasi proxy pengunjung dan lain sebagainya. Sebenarnya kita tidak usah repot-repot membuat script untuk mengetahui informasi tentang pengunjung karena paman google sudah mempunyai tool untuk itu. Tapi apa salahnya kita mencoba. Baik langsung saja kita praktekkan.

Di sini saya akan mencoba membuat informasi tentang jumlah pengunjung. Untuk informasi yang lain, anda bisa mencobanya sendiri.

Pertama kita harus membuat tabel visitor di dalam database MySQL.

CREATE TABLE `visitor` (
`visitor` int(11) NOT NULL,
);

Kemudian kita isi datanya dengan nilai 0

INSERT INTO `visitor`
VALUES (
'0'
);

Selanjutnya masukkan script berikut ke halaman yang ingin diketahui jumlah pengunjungnya.

<?php
session_start();
require_once("database.php");
connect_db();

/*
mengecek apakah user sudah pernah membuka halaman ini atau belum, hal ini digunakan untuk mencegah terjadinya penambahan jumlah pengunjung jika di refresh.
*/

if (!ISSET($_SESSION['ipaddress']))
{
$_SESSION['ipaddress']=$_SERVER['REMOTE_ADDR'];

$query=mysql_query("select * from visitor");
list($pengunjung)=mysql_fetch_row($query);
$pengunjung++;
//mencatat ip address pengunjung pada session
mysql_query("update visitor set visitor='$pengunjung'");
}

//informasi lain
$ipaddress = $_SERVER['REMOTE_ADDR'];
$browser=$_SERVER['HTTP_USER_AGENT'];
$proxy=$_SERVER['HTTP_X_FORWARDED_FOR'];

$query=mysql_query("select * from visitor");
list($pengunjung)=mysql_fetch_row($query);
?>

<html>
<body>
<?
echo "jumlah pengunjung = $pengunjung<br />";
echo "browser anda = $browser<br />";
echo "ip address anda = $ipaddress<br />";
echo "proxy anda = $proxy <br />";
?>
</body>
</html>



Membuat Bilangan/Huruf Random

Kali ini saya akan memberikan penjelasan tentang bagaimana membuat bilangan/huruf secara random. Scriptnya cukup simple. Inti dari membuat bilangan/huruf random ini terletak pada fungsi mt_srand() dan mt_rand(). Baik langsung saja kita praktekkan.

<?
$panjangacak = 5;
$base=`ABCDEFGHKLMNOPQRSTWXYZabcdefghjkmnpqrstwxyz123456789`;
$max=strlen($base)-1;
$acak=``;
mt_srand((double)microtime()*1000000);
while (strlen($acak)<$panjangacak)
$acak.=$base{mt_rand(0,$max)};

echo $acak
?>

Penjelasan :
$panjangacak adalah variabel untuk mendefinisikan panjang bilangan dan huruf yang akan dibangkitkan.
$base adalah variabel yang berisi huruf atau bilangan yang akan di acak / random.
mt_rand adalah fungsi untuk membangkitkan random.
$acak adalah variabel untuk menampung hasil bilangan / huruf yang telah di acak / random.




Mengirim Email dengan PHP

Biasanya setiap anda memesan sebuah website, anda akan diberi fasilitas untuk membuat email account, jadi anda bisa mengirim email dengan nama domain anda sendiri. Lantas bagaimana ya script untuk mengirim email itu sendiri. Sebenarnya scriptnya hanya satu baris saja. Hal yang penting untuk anda ketahui bahwa untuk mencoba script ini anda harus mempunyai web server yang mendukung layanan POP3. Layanan ini digunakan untuk mengirim email. Baik langsung saja saya jelaskan bagaimana cara untuk mengirim email.

Buatlah file dengan nama kirim_email.php dan ketikkan script di bawah ini

<?
$kepada = "abcde@yahoo.com&"; //email tujuan
$subject = "kirim email"; //judul email
$pesan = "guys, numpang kirim email ya"; //pesan
$dari = "webmaster@kirimemail.com"; //email account anda
$from = "From: $dari";

mail($kepada,$subject,$pesan,$from); //fungsi untuk kirim email
?>




Operasi File Di PHP

Kali ini saya akan menjelaskan bagaimana operasi file dalam php. PHP mempunyai fungsi untuk memanipulasi file text, mulai dari membuka file, membaca isi file, menulis file dan menutup file. Baiklah, untuk lebih jelasnya mari kita coba satu per satu.

Membuka File Teks
Untuk Membuka File Menggunakan perintah Open, sebagai contoh membuka file welcome.txt:
<html>
<body>
<?php
$file=fopen("welcome.txt","r");
?>
</body>
</html>
Script di atas digunakan untuk membuka file dengan tujuan membaca file.

Beberapa Mode Membuka File

Mode

Description

r

Membaca file dari awal

r+

Membaca atau menulis file dari awal

w

Menulis file dari awal, bila tidak ada file akan dibuat dan bila ada akan ditumpuk

w+

Membaca/menulis, bila ada ditumpuk dan bila tidak ada dibuat

a

Menambah isi file tanpa membuang isi file yang lama

a+

Membaca dan menambah tanpa membuang isi file yang lama

x

Menulis, membuat file baru. Bila file sudah ada akan error

x+

Membaca/menulis. Membuat file baru. Bila sudah ada akan error


Membuka File Dengan Message

<html>
<body>
<?php
$file=fopen("welcome.txt","r") or exit("Unable to open file!");?>
</body>
</html>

Menutup File
Setiap selesai operasi file, file harus ditutup. Cara menutup file dengan perintah:
close($file);

Mendeteksi Akhir File
Untuk mendeteksi akhir file menggunakan perintah
if (feof($file)) echo "End of file";
Sayangnya perintah ini tidak berlaku untuk mode w, a dan x.

Membaca Isi File Per Baris
Untuk membaca isi file dapat menggunakan perintah fgets, sebagai contoh membaca isi file welcome.txt:
<?php
$file = fopen("welcome.txt", "r") or exit("Unable to open file!");
while(!feof($file))
{
echo fgets($file). "<br />";
}
fclose($file);
?>

Membaca Isi File Tanpa Tag
Membaca isi file seperti HTML, terkadang kita tidak membutuhkan tag, dapat menggunakan perintah fgetss, sebagai contoh:

<?php
$file = fopen("welcome.txt", "r") or exit("Unable to open file!");
while(!feof($file))
{
echo fgetss($file). "<br />";
}
fclose($file);
?>

Membaca Isi File Per Character
Untuk membaca isi file per character menggunakan perintah fgetc, sebagai contoh:
<?php
$file=fopen("welcome.txt","r") or exit("Unable to open file!");
while (!feof($file))
{
echo fgetc($file);
}
fclose($file);
?>

Menulis File
Untuk menulis file bary atau menupuk file yang sudah ada dapat digunakan open dengan mode w dan perintah fwrite, sebagai contoh:
<?php
$file=fopen("welcome.txt","w");
fwrite($file,"Test menulis file. ");
fwrite($file,"Ini dengan mode w");
fclose($file);
?>