Anda di halaman 1dari 37

MODUL PHP 2018

PENGEMBANGAN APLIKASI BERBASIS WEB


David Setiadi,S.Kom.,M.T.
Sumber : www.w3schools.com

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


PHP adalah bahasa pemrograman script server-side yang didesain untuk pengembangan web.
Selain itu, PHP juga bisa digunakan sebagai bahasa pemrograman umum (wikipedia). PHP di
kembangkan pada tahun 1995 oleh Rasmus Lerdorf, dan sekarang dikelola oleh The PHP Group. Situs
resmi PHP beralamat di http://www.php.net.

PHP disebut bahasa pemrograman server side karena PHP diproses pada komputer server. Hal
ini berbeda dibandingkan dengan bahasa pemrograman client-side seperti JavaScript yang diproses
pada web browser (client).

Pada awalnya PHP merupakan singkatan dari Personal Home Page. Sesuai dengan namanya,
PHP digunakan untuk membuat website pribadi. Dalam beberapa tahun perkembangannya, PHP
menjelma menjadi bahasa pemrograman web yang powerful dan tidak hanya digunakan untuk
membuat halaman web sederhana, tetapi juga website populer yang digunakan oleh jutaan orang
seperti wikipedia, wordpress, joomla, dll.

Saat ini PHP adalah singkatan dari PHP: Hypertext Preprocessor, sebuah kepanjangan rekursif,
yakni permainan kata dimana kepanjangannya terdiri dari singkatan itu sendiri: PHP: Hypertext
Preprocessor.

PHP dapat digunakan dengan gratis (free) dan bersifat Open Source. PHP dirilis dalam lisensi
PHP License, sedikit berbeda dengan lisensi GNU General Public License (GPL) yang biasa digunakan
untuk proyek Open Source.

Kelebihan PHP dari bahasa pemrograman lain :

 Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah
kompilasi dalam penggunaanya.
 Web Server yang mendukung PHP dapat ditemukan dimana - mana dari mulai apache, IIS,
Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah.
 Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis dan developer yang
siap membantu dalam pengembangan.
 Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena memiliki
referensi yang banyak.
 PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix,
Macintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat
menjalankan perintah-perintah system.
 Yang dibutuhkan untuk menjalankan skrip php adalah php server , bias menggunakan Xampp,
Wamp, Lamp dll.

Sebelum mempelajari PHP sebaiknya kuasai dahulu HTML, CSS, JavaScript.

What is PHP?

 Singkatan dari "PHP: Hypertext Preprocessor"


 PHP adalah bahasa pemrograman Opensource dan dangat luas
 PHP merupakan server side scripting atau di eksekusi diserver
 PHP dapat didownload gratis di web resminya

What Can PHP Do?

 PHP can generate dynamic page content


 PHP can create, open, read, write, delete, and close files on the server
 PHP can collect form data

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


 PHP can send and receive cookies
 PHP can add, delete, modify data in your database
 PHP can be used to control user-access
 PHP can encrypt data

Editor :

 Notepad
 Dreamweaver
 Sublime
 Brackets
 Dll

Install :

 Install Wevserver (Xampp)


 Install PHP
 Install Database Server (Mysql)

Cara menjalankan skrip php

 Save aplikasi dengan extention .php kemudian simpan di dalam folder


xampp/htdocs/folder_anda (jika menggunakan xampp)
 Buka browser, kemudian ketikan localhost/folder_anda/file_anda.php
 Jika berhasil maka akan muncul halaman php

Macam-macam error pada php :

 Notice : Undefined variable : variable tidak dikenal atau variable tidak ada

 Notice : Undefined Index : variable tidak memiliki nilai

 Notice : Undefined Constant : apabila variable yang harus nya menggunakan tanda petik tp
tidak menggunakannya sehingga keluar notice tp aplikasi tetap berjalan

 Warning

Kurang parameter
 Warning

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


 Syntax Error

Biasanya error ada disekitar syntax error bias baris sebelum atau sesudah.
 Parse Error

Biasanya kesalahan terletak Karena kurang kurung kurawal penutup


 Fatal Error

Kesalahan yang diakibatkan salah memanggil nama fungsi

 Blank Error
Tidak menmpilkan error sama sekali biasanya salah dalam penulisan IF atau Else

MEMULAI PHP

 Untuk memulai file php harus menggunakan tag pembuka dan penutup.
 Php dapat ditempatkan dimana saja didalam file HTML

<?php
// Ketik Kode PHP disini
?>

PHP didalam HTML

<html>
<body>
<?php
// Ketik Kode PHP disini
?>
</body>
</html>

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


HTML didalam PHP
<?php
echo “<html>
<body>
</body>
</html>

?>

PHP Tidak Case Sensitif kecuali penulisan Variable

<html>
<body>

<?php
ECHO “Hello World!<br>”;
echo “Hello World!<br>”;
EcHo “Hello World!<br>”;

$color = “Merah”;
echo “Mobil saya berwarna ” . $color . “<br>”;
echo “Rumah saya berwarna ” . $COLOR . “<br>”;
echo “Motor saya berwarna ” . $coLOR . “<br>”;

?>

</body>
</html>

KOMENTAR

Penulisan Komentar dalam PHP menggunakan dobel slash //

komentar tidak akan di eksekusi sebagai program

<?php
//$txt = "Hello world!";
//$x = 5;
//$y = 10.5;

//$txt = "STMIK Sumedang";


//echo "I love $txt!";
?>

VARIABEL

Variabel adalah tempat menyimpan data atau informasi

Rules for PHP variables:

 A variable starts with the $ sign, followed by the name of the variable
 A variable name must start with a letter or the underscore character
 A variable name cannot start with a number

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


 A variable name can only contain alpha-numeric characters and underscores (A-z, 0-9, and _ )
 Variable names are case-sensitive ($age and $AGE are two different variables)

<?php
$tx = "Hello world!";
<?php
$x = 5;
$txt1 = "I Love";
$y = 10.5;
$txt2 = "STMIK Sumedang";
echo
$txt “Hallo ”.$txt1.$txt2;
= "STMIK Sumedang";
?>
echo "I love $txt!";
?>
<?php
$x = 5;
$y = 4;
echo $x + $y;
?>

Menyatukan 2 variabel

OPERATOR

Operator Aritmetika

Operator Keterangan Contoh Hasil


+ Penambahan x=2 4
x+2
- Pengurangan x=2 3
5-x
* Perkalian x=4 20
x*5
/ Pembagian 15/5 3
5/2 2.5
% Modulus (division remainder) 5%2 1
10%8 2
10%2 0
++ Increment x=5 x=6
x++
-- Decrement x=5 x=4
x--

Operator Penugasan (Assignment Operators)

Operator Contoh Persamaannya


= x=y x=y
+= x+=y x=x+y
-= x-=y x=x-y
*= x*=y x=x*y
/= x/=y x=x/y
%= x%=y x=x%y

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


Operator Perbandingan (Comparison Operators)

Operator Keterangan Contoh


== sama dengan 5==8 returns false
!= tidak sama dengan 5!=8 returns true
> lebih besar dari 5>8 returns false
< kurang dari 5<8 returns true
>= lebih besar atau sama dengan 5>=8 returns false
<= kurang dari atau sama dengan 5<=8 returns true

Operator Logika (Logical Operators)

Operator Keterangan Contoh


&& and x=6
y=3
(x < 10 && y > 1) returns true
|| or x=6
y=3
(x==5 || y==5) returns false
! not x=6
y=3
!(x==y) returns true

TYPE DATA

PHP supports the following data types:

 String
 Integer
 Float (floating point numbers - also called double)
 Boolean
 Array
 Object
 NULL
 Resource

STRING

Menghitung panjang karakter :

<?php
echo strlen("Hello world!"); // outputs 12
?>

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


Menghitung jumlah kata

<?php
echo str_word_count("Hello world!"); // outputs 2
?>

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


Membalikan string

<?php
echo strrev("Hello world!"); // outputs !dlrow olleH
?>

Replace String

<?php
echo str_replace("world", "Dolly", "Hello world!"); // outputs Hello Dolly!
?>

Transform Huruf besar semua

<?php
echo strtoupper("Hello WORLD!");
?>

Transform Huruf besar semua

<?php
echo strtoupper("Hello WORLD!");
?>

Fungsi date() digunakan untuk memformat waktu dan tanggal.

Sintaks
date(format,timestamp)

Parameter Keterangan

format Required. Specifies the format of the timestamp

timestamp Optional. Specifies a timestamp. Default is the current date and time (as a
timestamp)

TIMESTAMP/DATE/ WAKTU
Timestamp adalah jumlah detik sejak January 1, 1970 00:00:00 GMT. Juga dikenal sebagai Unix Timestamp.
Format Tanggal

 d – format hari (01-31)


 m – format bulan (01-12)
 Y – format tahun

Contoh Program :

<?php
echo date("Y/m/d");
echo "<br />";
echo date("Y.m.d");
echo "<br />";
echo date("Y-m-d");
?>

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


output:
2018/07/11
2018.07.11
2018-07-11

Fungsi mktime() akan memberikan nilai Unix timestamp untuk tanggal tertentu.

Sintaks
mktime(hour,minute,second,month,day,year,is_dst)

Program14-2.php
<?php
$besok = mktime(0,0,0,date("m"),date("d")+1,date("Y"));
echo "Besok Adalah ".date("Y/m/d/", $besok);
?>

output:
Besok Adalah 2018/07/12

Jika running menggunakan Xampp terjadi error date time kemungkinan ada perbedaan waktu antara
xampp dan waktu lokal atau komputer anda, maka lakukan setting manual pada :
C:\xampp\php\php.ini

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "Asia/Jakarta"

Bisa juga menggunakan kode php berikut ini :


<?php
date_default_timezone_set('Asia/Jakara');
date();
?>

PHP Conditional Statements

In PHP we have the following conditional statements:

 if statement - executes some code if one condition is true


 if...else statement - executes some code if a condition is true and another code if that
condition is false
 if...elseif....else statement - executes different codes for more than two conditions
 switch statement - selects one of many blocks of code to be executed

Statement IF

<?php
$t = date("H");

if ($t < "20") {


echo "Have a good day!";
}
?>

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


Statement IF...Else

<?php
$t = date("H");
if ($t < "20") {
echo "Have a good day!";
} else {
echo "Have a good night!";
}
?>

Statement IF...Elseif...else

<?php
$t = date("H");

if ($t < "10") {


echo "Have a good morning!";
} elseif ($t < "20") {
echo "Have a good day!";
} else {
echo "Have a good night!";
}
?>

Statement Switch

<?php
$favcolor = "red";

switch ($favcolor) {
case "red":
echo "Your favorite color is red!";
break;
case "blue":
echo "Your favorite color is blue!";
break;
case "green":
echo "Your favorite color is green!";
break;
default:
echo "Your favorite color is neither red, blue, nor green!";
}
?>

Looping /Perulangan (While)

<?php
$x = 1;

while($x <= 5) {
echo "The number is: $x <br>";
$x++;
}
?>

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


Looping /Perulangan (For)

<?php
for ($x = 0; $x <= 10; $x++) {
echo "The number is: $x <br>";
}
?>

<?php
$colors = array("red", "green", "blue", "yellow");

foreach ($colors as $value) {


echo "$value <br>";
}
?>

Function /Fungsi

<?php
function writeMsg() {
echo "Hello world!";
}

writeMsg(); // call the function


?>

Array

Array digunakan untuk menyimpan satu atau lebih nilai pada sebuah nama variabel.

Jenis-jenis Array

• Numeric array – Array dengan sebuah numeric ID key.


• Associative array - Array dimana setiap ID-nya berasosiasi dengan suatu nilai.
• Multidimensional array - Array yang terdiri dari satu atau lebih array.

Numeric Array

Contoh 1

Pada contoh ini kunci ID secara otomatis di beri suatu nilai.

$names = array("Budi","Maman","Asep");

Contoh 2

Pada contoh ini kita memberikan nilai pada kunci ID secara manual.

<?php
$names[0] = "Budi";
$names[1] = "Maman";
$names[2] = "Asep";
echo $names[1] . " dan " . $names[2] .
" adalah teman ". $names[0];
?>

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


Output program:

Budi dan Maman adalah teman Asep

Associative Arrays

Contoh 1

Pada contoh ini kita menggunakan sebuah array untuk memberikan nilai umur pada beberapa orang
yang berbeda.

$ages = array("Budi"=>32, "Maman"=>30, "Asep"=>34);

Contoh 2

Pada contoh ini sama dengan diatas, hanya saja kita memperlihatkan cara yang lain dalam membuat
array.

$ages['Budi'] = "32";

$ages[‘Maman’] = "30";

$ages['Asep'] = "34";

<?php
$ages['Budi'] = "32";
$ages['Maman'] = "30";
$ages['Asep'] = "34";
echo "Umur Budi adalah " . $ages['Budi'] . " Tahun.";
?>

Output program:

Umur Budi adalah 32 Tahun

Multidimensional Arrays

Contoh 1 cara inisialisasi multidimensional array

$families = array
(
"Keluarga1"=>array
(
"Budi",
"Maman",
"Asep",
),
"Keluarga2"=>array
(

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


"Glenn"
),
"Keluarga3"=>array
(
"Andi",
"Rudi",
"Zaenal"
)
);

Array di atas akan terlihat seperti di bawah ini jika dituliskan ke output.

Array
(
[Keluarga1] => Array
(
[0] => Budi
[1] => Maman
[2] => Asep
)
[Keluarga2] => Array
(
[0] => Glenn
)
[Keluarga3] => Array
(
[0] => Andi
[1] => Rudi
[2] => Zaenal
)
)

FORM HANDLING

Perintah $_GET dan $_POST digunakan untuk mengirim informasi dari form, seperti input user.

Contoh : Buat halaman dengan nama input.php

<html>
<body>

<form action="welcome.php" method="post">


Nama: <input type="text" name="nama"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>

Kemudian buat halaman dengan nama welcome.php

<html>
<body>

Selamat Datang <?php echo $_POST["nama"]; ?><br>


Email anda adalah : <?php echo $_POST["email"]; ?>

</body>
</html>

Maka Outputnya adalah menampilkan text yang diinput pada halaman input.php
MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.
Untuk penggunaan GET sama saja tinggal mengganti POST dengan GET

Contoh : Buat halaman dengan nama input.php

<html>
<body>

<form action="welcome.php" method="get">


Nama: <input type="text" name="nama"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>

Kemudian buat halaman dengan nama welcome.php


<html>
<body>

Selamat Datang <?php echo $_GET["nama"]; ?><br>


Email anda adalah : <?php echo $_GET["email"]; ?>

</body>
</html>

Maka Outputnya adalah menampilkan text yang diinput pada halaman input.php

Mempunyai pengertian bahwa metode ini digunakan untuk memparsing hasil inputan form
untuk diolah lebih lanjut, tetapi tidak menampilkan query string pada address bar, sehingga lebih aman
dibandingkan method GET yang akan terlihat pada address bar. Method POST akan sangat berguna
penggunaannya untuk halaman-halaman yang membutuhkan keamanan lebih, karena data inputan kita
tidak akan tampil pada address bar browser (disini kelebihan menggunakan Metode POST).

Nilai parsing tidak ditampilkan dalam address bar dan langsung di proses ketempat yang sudah
dibuat. Sebenarnya nilai dari parshingan tetap ada tetapi tidak tampak didalam address bar karena
valuenya bekerja dibelakang layar (backand). Disinilah keunggulan mengguanakn Method POST.

Perbedaan yang lain dari method POST adalah:

 Method POST tidak pernah ter Cache dalam browser


 Method POST tidak dapat di Bookmark
 Method POST tidak mempunyai batasan jumlah panjang data

Sedangkan GET adalah metode pengiriman data mengguanakan query string atau menampilkan
nilainya pada address bar. Jadi semua nilai pada form akan dikirim kesisi server yang kemudian diterima
oleh file tertentu dengan ketentuan nilai form tersebut akan tampil didalam address bar browser/URL
browser. Untuk suatu keamanan method POST lebih aman dari method GET.

Perbedaan yang lain dari method GET adalah:

 Method GET dapat di cache dalam browser


 Method GET dapat di bookmark
 Method GET mempunyai batasan jumlah panjang data yaitu maksimal 2048 karakter

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


FORM VALIDATION

Digunakan untuk memvalidasi inputan form yang bisa dilakukan di sisi client dan di sisi server. Disisi
client biasanya dilakukan di browser dengan menambahkan kode validasi pada script html, misal
required (inputan wajib disii). Berbeda dengan validasi disisi Server, yaitu data divalidasi setelah sampai

<!DOCTYPE html>
<html>
<head>
<title>Membuat Form Validasi Dengan PHP</title>
</head>
<body>
<h1>Membuat Form Validasi Dengan PHP </h1>

<?php
if(isset($_GET['nama'])){
if($_GET['nama'] == "kosong"){
echo "<h4 style='color:red'>Nama Belum Di Masukkan !</h4>";
}
}
?>

<h4>Masukkan Nama Anda :</h4>


<form action="cek.php" method="post">
Nama <input type="text" name="nama">
<input type="submit" value="Cek">
</form>

</body>
</html>

di server kemudian dieksekusi dan tentukan nilainya sesuai atau tidak.

Cek.php

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>

<?php
// define variables and set to empty values
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "Name is required";
} else {
$name = test_input($_POST["name"]);
}

if (empty($_POST["email"])) {
$emailErr = "Email is required";
} else {
$email = test_input($_POST["email"]);
}
}

function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>

<h2>PHP Form Validation Example</h2>


<p><span class="error">* required field.</span></p>
<form method="post" action="<?php echohtmlspecialchars($_SERVER["PHP_SELF"]);?>">
Name: <input type="text" name="name">
<span class="error">* <?php echo $nameErr;?></span>
<br><br>
E-mail: <input type="text" name="email">
<span class="error">* <?php echo $emailErr;?></span>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>

<?php
echo "<h2>Your Input:</h2>";
echo $name;
echo "<br>";
echo $email;
echo "<br>";
echo $website;
echo "<br>";
echo $comment;
echo "<br>";
echo $gender;
?>

</body>
</html>

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


INCLUDE

Server Side Includes (SSI) digunakan untuk menyimpan fungsi, header, footer, atau elemen-elemen yang
dapat digunakan pada halaman yang berlainan. Server Side Includes ,

Fungsi include()

Fungsi include() akan mengambil semua teks pada file include dan mengkopinya ke file tujuan.

Fungsi require()

Fungsi require() sama dengan include(), tetapi berbeda dalam cara penanganan kesalahan.

Fungsi include() akan menghasilkan peringatan (dan program akan melanjutkan ekseskusinya)
sedangkan fungsi require() akan menghasilkan fatal error dan menghentikan program.

Contoh :

Buat footer.php

<?php
echo "<p>Copyright &copy; 1999-" . date("Y") . " stmik-sumedang.ac.id</p>";
?>

Buat welcome.php

<html>
<body>

<h1>Selamat Datang DiWeb Kami</h1>


<p>Some text.</p>
<p>Some more text.</p>
<?php include 'footer.php';?>

</body>
</html>

FILE HANDLING

Digunakan untuk untuk read, add, edit file menggunakan php.

Mode Keterangan
r Read only. Starts at the beginning of the file
r+ Read/Write. Starts at the beginning of the file
w Write only. Opens and clears the contents of file; or creates a new file if it doesn't exist
w+ Read/Write. Opens and clears the contents of file; or creates a new file if it doesn't exist
a Append. Opens and writes to the end of the file or creates a new file if it doesn't exist
a+ Read/Append. Preserves file content by writing to the end of the file
x Write only. Creates a new file. Returns FALSE and an error if file already exists
x+ Read/Write. Creates a new file. Returns FALSE and an error if file already exists

Contoh :

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


Buatlah file kamus.txt dengan notepad

AJAX = Asynchronous JavaScript and XML


CSS = Cascading Style Sheets
HTML = Hyper Text Markup Language
PHP = PHP Hypertext Preprocessor
SQL = Structured Query Language
SVG = Scalable Vector Graphics
XML = EXtensible Markup Language

<?php
$myfile = fopen("kamus.txt", "r") or die("Unable to open file!");
echo fread($myfile,filesize("webdictionary.txt"));
fclose($myfile);
?>

Memeriksa EOF (End Of File)

Catatan: Kita tidak dapat membaca file yang terbuka dalam mode w, a, dan x!
if (feof($file)) echo "End of file";

Membaca file baris per baris (fgets())

<?php
$file = fopen("welcome.txt", "r") or exit("Unable to open file!");
//Output a line of the file until the end is reached
while(!feof($file))
{
echo fgets($file). "<br />";
}
fclose($file);
?>

Membaca file karakter per karakter (fgetc())

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

FILE UPLOAD

Digunakan untuk mengupload file ke server menggunakan PHP, tetapi ini akan sangat berbahaya jika
scriptnya terbuka tanpa batasan session atau hak akses karena berpotensi mudah di Hack.

Sebelumnya pastikan setting pada php.ini sudah di On kan : file_uploads = On

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


<html>
<body>

<form action="upload.php" method="post" enctype="multipart/form-data">


Select image to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>

</body>
</html>

?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
}
?>

Pastikan folder untuk menampung file upload sudah sesuai

Berikut skrip lengkap untuk memfilter duplikat file, size dan type file.

COOKIES

SESSION

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
}
// Check if file already exists
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
}
// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
$uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
?>

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


CRUD PHP & MYSQL
Persiapan :

Karena xampp versi baru sudah migrasi ke ekstensi mysqli /PDO maka harus mengaktifkan script
extension=php_mysql.dll pada php.ini (lokasi : xampp\php\php.ini) agar dapat merunning script
mysql.

Jika masih menggunakan xampp versi 173 ke bawah maka fitur ini sudah aktif secara otomatis, untuk
mengaktifkan nya ada di baris 872 pada php.ini

 Buat database dengan nama db_crud


 Kemudian buat tabel dengan nama mahasiswa
 Field table teridiri dari id,nim,nama,alamat (id=auto increment + P.key)

Membuat koneksi ke Database

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


Buatlah file dengan nama koneksi.php, kemudian isi dengan script dibawah ini:

<?php
$host = "localhost"; //nama host
$user = "root"; //username phpMyAdmin
$pass = ""; //password phpMyAdmin
$name = "db_crud"; //nama database

$koneksi = mysql_connect($host, $user, $pass) or die("Koneksi ke database gagal!");


mysql_select_db($name, $koneksi) or die("Tidak ada database yang dipilih!");
?>

Membuat Index /halaman utama

Buatlah file dengan nama index.php, kemudian isi dengan script dibawah ini :

<!DOCTYPE html>
<html>
<head>
<title>CRUD PHP</title>
</head>
<body>
<h2>CONTOH CRUD</h2>

<p><a href="index.php">Beranda</a> / <a href="tambah.php">Tambah Data</a></p>

<h3>Data Mahasiswa</h3>

<table cellpadding="5" cellspacing="0" border="1">


<tr bgcolor="#CCCCCC">
<th>No.</th>
<th>NIM</th>
<th>Nama</th>
<th>Jurusan</th>
<th>Aksi</th>
</tr>

<?php
include('koneksi.php');
$query = mysql_query("SELECT * FROM tbl_mhs ORDER BY nim DESC") or die(mysql_error());
if(mysql_num_rows($query) == 0){
echo '<tr><td colspan="6">Tidak ada data!</td></tr>';

}else{
$no = 1;
while($data = mysql_fetch_assoc($query)){
echo '<tr>';
echo '<td>'.$no.'</td>';
echo '<td>'.$data['nim'].'</td>';
echo '<td>'.$data['nama'].'</td>';
echo '<td>'.$data['jurusan'].'</td>';
echo '<td><a href="edit.php?id='.$data['id'].'">Edit</a> / <a
href="hapus.php?id='.$data['id'].'" onclick="return confirm(\'Yakin?\')">Hapus</a></td>';
echo '</tr>';
$no++;

}
?>
</table>
</body>
</html>

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


Membuat form input

Buatlah file dengan nama tambah.php kemudian isi dengan script dibawah ini:

<!DOCTYPE html>
<html>
<head>
<title>CRUD PHP</title>
</head>
<body>
<h2>CONTOH CRUD</h2>
<p><a href="index.php">Beranda</a> / <a href="tambah.php">Tambah Data</a></p>
<h3>Tambah Data Mahasiswa</h3>
<form action="tambah-proses.php" method="post">
<table cellpadding="3" cellspacing="0">
<tr>
<td>NIM</td>
<td>:</td>
<td><input type="text" name="nim" size="30" required></td>
</tr>
<tr>
<td>Nama</td>
<td>:</td>
<td><input type="text" name="nama" size="30" required></td>
</tr>
<tr>
<td>Jurusan</td>
<td>:</td>
<td>
<select name="jurusan" required>
<option value="">Pilih Jurusan</option>
<option value="Teknik Informatika">Teknik Informatika</option>
<option value="Sistem Informasi">Sistem Informasi</option>
<option value="Manajemen Informatika">Manajemen Informatika</option>
</select>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td></td>
<td><input type="submit" name="tambah" value="Tambah"></td>
</tr>
</table>
</form>
</body>
</html>

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


MEMBUAT PROSES TAMBAH KE DATABASE

Buatlan file dengan nama tambah-proses.php, kemudian isi dengan script dibawah ini :

<!DOCTYPE html>
<?php
<html>
if(isset($_POST['tambah'])){
<head>
include('koneksi.php');
<title>CRUD PHP</title>
$nim
</head> = $_POST['nim'];
$nama = $_POST['nama'];
<body>
$jurusan
<h2>CONTOH= CRUD</h2>
$_POST['jurusan'];
<p><a href="index.php">Beranda</a> / <a href="tambah.php">Tambah Data</a></p>
$input
<h3>Edit= mysql_query("INSERT
Data Siswa</h3> INTO tbl_mhs VALUES(NULL, '$nim', '$nama', '$jurusan')") or
die(mysql_error());
<?php
include('koneksi.php');
if($input){
$id = $_GET['id'];
echo
$show'Data berhasil di tambahkan!
= mysql_query("SELECT * FROM';
tbl_mhs WHERE id='$id'");
header("Refresh:2; url=index.php");
if(mysql_num_rows($show) == 0){
echo
echo '<a href="tambah.php">Kembali</a>';
'<script>window.history.back()</script>';
}else{
}else{
echo
$data'Gagal menambahkan data! ';
= mysql_fetch_assoc($show);
header("Refresh:2; url=index.php");
}
echo
?> '<a href="tambah.php">Kembali</a>';
}
<form action="edit-proses.php" method="post">
}else{
<input type="hidden" name="id" value="<?php echo $id; ?>">
echo '<script>window.history.back()</script>';
<table cellpadding="3" cellspacing="0">
}
<tr>
?>
<td>NIM</td>
<td>:</td><td><input type="text" name="nim" value="<?php echo $data['nim']; ?>" required></td>
</tr>
<tr>
<td>Nama Lengkap</td>
<td>:</td>
<td><input type="text" name="nama" size="30" value="<?php echo $data['nama']; ?>" required></td>
</tr>
<tr>
<td>Jurusan</td>
<td>:</td>
<td>
<select name="jurusan" required>
<option value="">Pilih Jurusan</option>
<option value="Teknik Informatika" <?php if($data['jurusan'] == 'Teknik Informatika'){ echo 'selected'; }
?>>Teknik Informatika</option>
<option value="Sistem Informasi" <?php if($data['jurusan'] == 'Sistem Informasi'){ echo 'selected'; }
?>>Sistem Informasi</option>
<option value="Manajemen Informatika" <?php if($data['jurusan'] == 'Manajemen Informatika'){ echo
'selected'; } ?>>Manajemen Informatika</option>
</select>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td></td>
<td><input type="submit" name="simpan" value="Simpan"></td>
</tr>
</table>
</form>
</body>
</html>

Membuat modul edit data

Buatlah file dengan nama edit.php, kemudian isi dengan script dibawah ini:

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


Membuat modul proses edit

Buatlah file dengan nama edit-proses.php

<?php
if(isset($_POST['simpan'])){
include('koneksi.php');
$id = $_POST['id'];
$nim = $_POST['nim'];
$nama = $_POST['nama'];
$jurusan = $_POST['jurusan'];
$update = mysql_query("UPDATE tbl_mhs SET nim='$nim', nama='$nama',
jurusan='$jurusan' WHERE id='$id'") or die(mysql_error());
if($update){
echo 'Data berhasil di simpan! ';
header("Refresh:2; url=index.php");
echo '<a href="index.php">Kembali</a>';
}else{
echo 'Gagal menyimpan data! ';
header("Refresh:2; url=index.php");
echo '<a href="edit.php?id='.$id.'">Kembali</a>';
}
}else{
echo '<script>window.history.back()</script>';
}
?>

Membuat modul hapus data

Buatlah file dengan nama hapus.php, kemudian isi denga script dibawah ini :

<?php
if(isset($_GET['id'])){
include('koneksi.php');
$id = $_GET['id'];
$cek = mysql_query("SELECT id FROM tbl_mhs WHERE id='$id'") or die(mysql_error());
if(mysql_num_rows($cek) == 0){
echo '<script>window.history.back()</script>';
}else{
$del = mysql_query("DELETE FROM tbl_mhs WHERE id='$id'");
if($del){
echo 'Data mahasiswa berhasil di hapus! ';
header("Refresh:2; url=index.php");
echo '<a href="index.php">Kembali</a>';
}else{
echo 'Gagal menghapus data! ';
header("Refresh:2; url=index.php");
echo '<a href="index.php">Kembali</a>';
}
}
}else{
echo '<script>window.history.back()</script>';
}
?>

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


PENCARIAN

Membuat pencarian data, edit index.php sehingga menjadi seperti ini :

<!DOCTYPE html>
<html>
<head>
<title>CRUD PHP</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<h2>CONTOH CRUD</h2>

<p><a href="index.php">Beranda</a> / <a href="tambah.php">Tambah Data</a></p>

<h3>Data Mahasiswa</h3>

<form action="cari.php" method="post">


<label>Cari</label>
<input type="text" name="cari" placeholder="Masukan nama mahasiswa /nim">
<input type="submit" value="cari">
</form>
<br>

<table cellpadding="5" cellspacing="0" border="1">


<tr bgcolor="#CCCCCC">
<th>No.</th>
<th>NIM</th>
<th>Nama</th>
<th>Jurusan</th>
<th>Aksi</th>
</tr>

<?php
include('koneksi.php');
@$cari=$_POST['cari'];
$query = mysql_query("SELECT * FROM tbl_mhs where nama like '%$cari%' or nim like '%$cari%'") or
die(mysql_error());
if(mysql_num_rows($query) == 0){
echo '<tr><td colspan="6">Tidak ada data!</td></tr>';

}else{
$no = 1;
while($data = mysql_fetch_assoc($query)){
echo '<tr>';
echo '<td>'.$no.'</td>';
echo '<td>'.$data['nim'].'</td>';
echo '<td>'.$data['nama'].'</td>';
echo '<td>'.$data['jurusan'].'</td>';
echo '<td><a href="edit.php?id='.$data['id'].'">Edit</a> / <a
href="hapus.php?id='.$data['id'].'" onclick="return confirm(\'Yakin?\')">Hapus</a></td>';
echo '</tr>';
$no++;

}
?>
</table>
</body>
</html>

(tambah kan & edit script yang berwarna merah)

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


Untuk mempercantik tampilan buatlah file dengan nama style.css , kemudian isi dengan script
dibawah ini :

table {
border-collapse: collapse;
width: 100%;
}

th, td {
text-align: left;
padding: 8px;
}

tr:nth-child(even){background-color: #f2f2f2}

th {
background-color: #4CAF50;
color: white;
}

a:link, a:visited {
background-color: #058821;
color: white;
padding: 8px 25px;
text-align: center;
text-decoration: none;
display: inline-block;
}

a:hover, a:active {
background-color: #00B727;
}

Tambahkan script dibawah ini diantara tag <head> pada halaman yang ingin dipasang css

Maka tampilan akan berubah seperti dibawah ini :

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.
MEMBUAT WEBSITE SEDERHANA DENGAN PHP & MYSQL

Yang pertama harus di lakukan adalah membuat halaman belakang/ halaman admin/ Frontend,
Dimana berfungsi untuk memisahkan halaman untuk user dengan halaman untuk admin, supaya
keamanan lebih terjaga.

Untuk langkah pertama Buat database dengan nama db_web

MEMBUAT HALAMAN DASHBOARD

1. Halaman login
Halaman login dibuat untuk membatasi hak akses terhadap data website, sehingga hanya user
yang memiliki hak akses yang dapat merubah data pada sebuah frontEnd website.
Berikut adalah langkah-langkah membuat halaman login :
 Buat tabel dengan nama users , tabel ini digunakan untuk menyimpan informasi login
admin. Kemudian buatlah field id,username,password dan status

 Buat folder baru didalam htdocs dengan nama web kemudian buat folder baru
didalamnya dengan nama login , agar manajemen file frontend dan backend terpisah.

 Buat file index.php didalam folder login, berfungsi untuk halaman default sebelum
masuk ke halaman dashboard harus melalui halaman login terlebih dahulu.
<?php
include('login.php');
if(isset($_SESSION['login_user'])){
header("location: dashboard.php");
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Login Admin</title>
<!-- Skrip CSS -->
<link rel="stylesheet" href="login.css"/>
</head>
<body>
<div class="login-page">
<div class="form">
<h2>Login Admin</h2><hr/>
<form class="login-form" action="" method="post">
<input type="text" id="name" name="username" placeholder="username"/>
<input type="password" id="password" name="password"
placeholder="password"/>
<button name="submit" type="submit" id="submit">Login</button>
</form>
</div>
</div>
</body>
</html>

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


 Buat file login.php didalam folder login, berfungsi untuk menangkap data yang dikirim
dari halaman index.php yang kemudian diproses dan di validasi dengan database.(tabel
usesrs) jika valid maka akan di direct ke halaman dashboard.

<?php
session_start();
$error='';
if (isset($_POST['submit'])) {
if (empty($_POST['username']) || empty($_POST['password'])) {
$error = "Username or Password is invalid";
}
else
{
include('koneksi.php');
$username=$_POST['username'];
$password=$_POST['password'];
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
$query = mysql_query("select * from users where password='$password' AND
username='$username'", $connection);
$rows = mysql_num_rows($query);
if ($rows == 1) {
$_SESSION['login_user']=$username;
header("location: dashboard.php");
} else {
$error = "Username atau Password belum terdaftar";
}
mysql_close($connection);
}
}
?>

 Buat file logout.php didalam folder login, berfungsi untuk menghancurkan session
sehingga jika sudah logout user tidak dapat masuk ke halaman dashboard lagi, untuk
masuk kembali user harus melakukan login ulang.

<?php
session_start();
if(session_destroy())
{
header("Location: index.php");
}
?>

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


 Buat file session.php didalam folder login, berfungsi untuk membuat session jika login
berhasil, dan session ini digunakan untuk mengidentifikasi user, sehingga selama
session aktif maka user dapat berpindah-pindah halaman tanpa harus login kembali.
<?php
include('koneksi.php');
session_start();
$user_check=$_SESSION['login_user'];
$ses_sql=mysql_query("select username from users where username='$user_check'",
$connection);
$row = mysql_fetch_assoc($ses_sql);
$login_session =$row['username'];
if(!isset($login_session)){
mysql_close($connection);
header('Location: index.php');
}
?>

 Buat file koneksi.php didalam folder login, berfungsi untuk membuat koneksi ke
database, sehingga untuk membuat koneksi ke tiap halaman cukup menyertakan
koneksi.php kedalamnya menggunakan script include(koneksi.php);

<?php
$connection = mysql_connect("localhost", "root", "");
$db = mysql_select_db("db_web", $connection);
?>

 Buat file login.css didalam folder login, untuk mempercantik halaman login

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


@import url(https://fonts.googleapis.com/css?family=Roboto:300);
.login-page {
width: 360px;
padding: 8% 0 0;
margin: auto;
}

.form {
position: relative;
z-index: 1;
background: #FFFFFF;
max-width: 360px;
margin: 0 auto 100px;
padding: 45px;
text-align: center;
box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2), 0 5px 5px 0 rgba(0, 0, 0, 0.24);
}

.form input {
font-family: "Roboto", sans-serif;
outline: 0;
background: #f2f2f2;
width: 100%;
border: 0;
margin: 0 0 15px;
padding: 15px;
box-sizing: border-box;
font-size: 14px;
}

.form button {
font-family: "Roboto", sans-serif;
text-transform: uppercase;
outline: 0;
background: #4CAF50;
width: 100%;
border: 0;
padding: 15px;
color: #FFFFFF;
font-size: 14px;
-webkit-transition: all 0.3 ease;
transition: all 0.3 ease;
cursor: pointer;
}

.form button:hover,
.form button:active,
.form button:focus {
background: #43A047;
}

.form .message {
margin: 15px 0 0;
color: #b3b3b3;
font-size: 12px;
}

.form .message a {
color: #4CAF50;
text-decoration: none;
}

.form .register-form {
display: none;
}

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


.container {
position: relative;
z-index: 1;
max-width: 300px;
margin: 0 auto;
}

.container:before,
.container:after {
content: "";
display: block;
clear: both;
}

.container .info {
margin: 50px auto;
text-align: center;
}

.container .info h1 {
margin: 0 0 15px;
padding: 0;
font-size: 36px;
font-weight: 300;
color: #1a1a1a;
}

.container .info span {


color: #4d4d4d;
font-size: 12px;
}

.container .info span a {


color: #000000;
text-decoration: none;
}

.container .info span .fa {


color: #EF3B3A;
}

body {
background: #76b852;
/* fallback for old browsers */
background: -webkit-linear-gradient(right, #76b852, #8DC26F);
background: -moz-linear-gradient(right, #76b852, #8DC26F);
background: -o-linear-gradient(right, #76b852, #8DC26F);
background: linear-gradient(to left, #76b852, #8DC26F);
font-family: "Roboto", sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


2. Membuat crud Berita, Pengumuman, Artikel, dll

Membuat CRUD untuk isian halaman depan website agar manajemen konten web lebih mudah,
contoh sebagai berikut :

Proses pembuatan crud sama seperti pada modul sebelumnya, tapi manajemen file nya dibuat
folder terpisah agar lebih mudah untuk dipahami. Buat folder baru didalam folder login dengan
nama berita.

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


Kemudian buat file php dengan nama seperti dibawah ini :

Jika ingin membuat modul baru maka anda tinggal mengcopy satu folder berita ke dalam folder
baru, misalkan folder pengumuman. Kemudian edit sesuai kebutuhan.

MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.


MODUL PHP 2018 DAVID SETIADI,S.KOM.,M.T.

Anda mungkin juga menyukai