Showing posts with label php. Show all posts

Cara membuat program untuk Mengetahui jumlah Pengunjung situs kita dengan PHP


Iya pada kesempatan kali ini kita akan membuat program untuk mengetahui jumlah pengunjung situs kita dengan PHP, cocok sekali untuk mengetahui berapa pengunjung ke situs kita. maka dengan script ini anda bisa mengetahui berapakah pengunjung situs kita perbulanya / sudah dikunjungi berapa orang situs tersebut  dari mulai mengudara. tapi kelemahannya setiap kali kita melakukan refresh halaman maka program ini akan menganggapnya pengunjung baru. jadi setiap kita refresh hitungan akan bertambah.

ini scriptnya:

<?php
$counter_file="counter.txt";
if (!file_exists ($counter_file)) {
fopen ($counter_file, "w");
}
$file = fopen($counter_file, "r");

$counter = fread($file, 10);
fclose($file);

$counter++;

echo "<h2>Anda adalah pengunjung ke - $counter</h2>";
$file = fopen($counter_file, "w");
fwrite($file, $counter);
fclose($file);
?>

kemudian buat file baru bernama counter.txt isinya dikosongkan saja.

Nah ketika halaman di refresh PHP akan menulis ke file couter.txt kemudian isi tulisan tersebut akan ditampilkan seperti pada gambar diatas.

Macam - macam Perulangan di PHP

1
Jika kita mau menampilkan data yang berulang-ulang kita bisa menggunakan perulangan, perulangan yang ada
ddii php ada for, foreach, while, do while. Berikut ini adalah Macam-macam perulangan di PH beserta contohnya

  1. .       Struktur Perulangan For


for (init_awal, kondisi, counter) {
 statement-yang-diulang;
}
Keterangan :
ƒ  init_awal merupakan inisialisasi atau nilai awal variable.
ƒ  kondisi merupakan statemen kondisi yang akan membatasi perulangan.
ƒ  counter merupakan pertambahan atau pengurangan nilai variabel
sehingga perulangan tetap berjalan.

  1. 2.       Struktur Perulangan While


init_awal;
while (kondisi) {
 statement-yang-diulang;
 counter;
}
Keterangan :
ƒ  init_awal merupakan inisialisasi atau nilai awal variable.
ƒ  kondisi merupakan statemen kondisi yang akan membatasi perulangan.
ƒ  counter merupakan pertambahan atau pengurangan nilai variabel
sehingga perulangan tetap berjalan.

  1. 3.       Struktur Perulangan Do ... while


init_awal;
do {
 statement-yang-diulang;
 counter;
} while (kondisi);
Keterangan :
ƒ  init_awal merupakan inisialisasi atau nilai awal variable.
ƒ  kondisi merupakan statemen kondisi yang akan membatasi perulangan.
ƒ  counter merupakan pertambahan atau pengurangan nilai variabel
sehingga perulangan tetap berjalan.
ƒ  Pada struktur do...while, pemeriksaan kondisi ada di bawah, sehingga
statement yang berada dalam block do...while setidaknya akan dieksekusi
sebanyak satu kali.

  1. 4.       Struktur Perulangan Foreach


foreach (array_expression as $value)
   statement;

foreach (array_expression as $key => $value)
   statement;
Keterangan :
ƒ  Struktur foreach biasanya digunakan untuk melakukan perulangan
berdasarkan isi suatu array. Perulangan akan berakhir jika isi array telah
habis.

Nama File  : for.php
Deskripsi  : Program Struktur Perulangan For dan beberapa variasinya.

<?php
/* contoh 1 */
for ($i = 1; $i <= 10; $i++) {
   echo "$i ";
}
echo "<br><br>";
/* contoh 2 */
for ($i = 1; ; $i++) {
   if ($i > 10) {
       break;
   }
   echo "$i ";
}
echo "<br><br>";
/* contoh 3 */
$i = 1;
for (; ; ) {
   if ($i > 10) {
       break;
   }
   echo "$i ";
   $i++;
} echo "<br><br>";
/* contoh 4 */
for ($i = 1; $i <= 10; print "$i ", $i++);
?>

Program di atas merupakan bentuk-bentuk perulangan dengan menggunakan for.
Contoh yang pertama (baris 4-6) merupakan bentuk yang paling umum. Pada
contoh 2, batas akhir perulangan tidak disebutkan dalam for, tapi diatur dengan if
dan break (baris 11-13). 


Nama File  : while.php
Deskripsi  : Program Struktur Perulangan While dan beberapa variasinya.

<?php
/* contoh 1 */
$i = 1;
while ($i <= 10) {
   echo $i++; 
}
echo "<br><br>";

/* contoh 2 */
$i = 1;
while ($i <= 10):
   echo "$i";
   $i++;
endwhile;
echo "<br><br>";

/* contoh 3 */
$i = 1;
while ($i <= 6) {
   echo "<h$i>Heading $i</h$i>";
   $i++;
}
?>

Program di atas merupakan beberapa variasi perulangan dengan while. Contoh
yang pertama (baris 3-6) merupakan bentuk yang paling umum dipakai. Blok
perintah (baris 5) akan dijalankan selama pemeriksaan kondisi pada baris ke-4
bernilai TRUE. Contoh kedua merupakan bentuk lain dari while, bentuk ini jarang
digunakan. Pada contoh ketiga, penggunaan perulangan untuk menampilkan
tulisan dengan format <H1> sampai <H6>


Nama File  : dowhile.php
Deskripsi  : Program Struktur Perulangan dengan Do...While.
<?php

$i = 1;
do {
 echo "$i ";
 $i+=2;
} while ($i <= 20);

?>


Program di atas akan menampilkan bilangan ganjil antara 1 sampai 20
menggunakan struktur perulangan  do..while. Pada struktur perulangan

do...while, pemeriksaan kondisi berada di bawah. 

Membuat RESTful API CRUD sederhana dengan PHP

selamat siang kali ini kita akan membuat RESTful API CRUD sederhana dengan PHP

Apa itu API? 

API(Aplication Programming Interface) adalah sebuah web service yang berguna untuk menjembatani aplikasi dengan database, API tidak tergantung pada bahasa pemrograman tertentu, dengan API kita bisa berkomunikasi dengan aplikasi yang berbeda pemrogramanya, Misalnya Aplikasi A menggunakan bahasa PHP dan Aplikasi B menggunakan bahasa Java kita bisa mengakses informasi informasi aplikasi A untuk ditampilkan di aplikasi B dengan bantuan API, jadi kita tidak harus tau dulu database nya apa struktur table nya bagaimana tinggal menggunakan API yang sudah disediakan oleh developer pembuat API di Aplikasi itu. untuk menggunakan API kita harus melihat dulu dokumentasi dari si pembuat API nya, kita tidak bisa berkreatif membuat cara sendiri jadi misalnya untuk mengakses data apa saja yang dapat diakses bagaimana cara mengaksesnya, apakah bersifat publik atau harus menggunakan token semua tergantung si pembuat API nya jadi kita harus membaca dulu dokumentasinya. format yang dipakai biasanya berbentuk XML atau JSON tetapi yang paling sering kita temui berbentuk JSON (Javascript Object Notation). contoh API yang biasa dipakai untuk login adalah facebook misalnya pada situs stackoverflow kita bisa login lewat facebook atau google, API ini tidak tergantung pada satu bahasa pemrograman misalnya facebook menggunakan bahasa PHP dan stackoverflow menggunakan javascript bisa terhubung dan untuk databasenya stackoverflow tidak harus mempunyai database yang sama digunakan oleh facebook. metode yang biasa digunakan dalam API ini biasanya GET, POST, PUT, PATCH, DELETE dll

Jenis-Jenis API

API ada dua jenis yaitu SOAP dan REST tetapi yang paling populer adalah REST API

Softwre untuk membuat API 

untuk membuat API yang anda perlukan hanya text editor, browser, plugin JSON viewer untuk melihat tampilan JSON agar lebih mudah dibaca, POSTMAN untuk mengetest API nya

Buat dulu database nya seperti ini:

-- phpMyAdmin SQL Dump

-- version 4.5.1

-- http://www.phpmyadmin.net

--

-- Host: 127.0.0.1

-- Generation Time: 23 Okt 2018 pada 13.23

-- Versi Server: 10.1.16-MariaDB

-- PHP Version: 5.6.24



SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";

SET time_zone = "+00:00";





/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;

/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;

/*!40101 SET NAMES utf8mb4 */;



--

-- Database: `cruds`

--



-- --------------------------------------------------------



--

-- Struktur dari tabel `mahasiswa`

--



CREATE TABLE `mahasiswa` (

  `npm` varchar(10) NOT NULL,

  `nama` varchar(100) NOT NULL,

  `prodi` varchar(50) NOT NULL,

  `fakultas` varchar(50) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1;



--

-- Dumping data untuk tabel `mahasiswa`

--



INSERT INTO `mahasiswa` (`npm`, `nama`, `prodi`, `fakultas`) VALUES

('000000', 'zero', 'zero prodi', 'zero fakultas'),

('1100001110', 'Dhani', 'Kedokteran', 'Dokter'),

('1111', 'iwan setiawan', 'teknik otomotif', 'teknik '),

('1201110012', 'Indra', 'Sistem Informasi', 'Teknik'),

('12346545', 'Ahmad Fauzila', 'kehutanan', 'ilmu kehutanan'),

('1500110001', 'Jhon', 'Teknik Informatika', 'Teknik'),

('2222', 'Dudi', 'Teknik sipil', 'teknik'),

('88888', 'Delapan Enam', 'Delapan 999', 'Densus 88');



--

-- Indexes for dumped tables

--



--

-- Indexes for table `mahasiswa`

--

ALTER TABLE `mahasiswa`

  ADD PRIMARY KEY (`npm`);



/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;

/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
?>


Langkah Pertama membuat koneksi ke database



define('HOSTNAME','localhost');

define('USERNAME','root');

define('PASSWORD','');

define('DB_NAME','cruds');



$koneksi = new mysqli(HOSTNAME, USERNAME, PASSWORD, DB_NAME) or die (mysqli_errno());



?>


selanjutnya kita akan membuat CREAT



include_once('connection.php');



$npm = addslashes(htmlentities($_POST['npm']));

$nama = addslashes(htmlentities($_POST['nama']));

$prodi = addslashes(htmlentities($_POST['prodi']));

$fakultas = addslashes(htmlentities($_POST['fakultas']));



$insert = "INSERT INTO mahasiswa(npm,nama,prodi,fakultas) VALUES ('$npm','$nama','$prodi','$fakultas')";



$exeinsert = mysqli_query($koneksi,$insert);



$response = array();



if($exeinsert)

{

  $response['code'] =1;

  $response['message'] = "Success! Data Inserted";

}else{

  $response['code'] =0;

  $response['message'] = "Failed! Data Not Inserted";

}



echo json_encode($response);

?>



untuk mengetest nya bisa menggunakan POSTMAN atau melalui browser tetapi kalau melalui browser agak ribet karena harus memasukan url yang panjang

Kemudian kita akan membuat VIEW yaitu API untuk menampilkan data dari program CRUD nya


include_once('connection.php');
$query = "SELECT * FROM mahasiswa";
$result = mysqli_query($koneksi,$query);
$array_data = array();
while($baris = mysqli_fetch_assoc($result))
{
  $array_data[]=$baris;
}

echo json_encode($array_data);
?>



selanjutnya untuk UPDATE seperti dibawah


require_once('connection.php');

$npm = addslashes(htmlentities($_POST['npm']));

$nama = addslashes(htmlentities($_POST['nama']));
$prodi = addslashes(htmlentities($_POST['prodi']));
$fakultas = addslashes(htmlentities($_POST['fakultas']));

$getdata = mysqli_query($koneksi,"SELECT * FROM mahasiswa WHERE npm='$npm'");
$rows = mysqli_num_rows($getdata);

$update = "UPDATE mahasiswa SET nama='$nama',prodi='$prodi',fakultas='$fakultas' WHERE npm='$npm'";
$exequery = mysqli_query($koneksi,$update);

$respose = array();

if($rows > 0)
{
  if($exequery)
  {
    $respose['code'] = 1;
    $respose['message'] = "Updated Success";
  }else{
    $respose['code'] = 0;
    $respose['message'] = "Updated Failed";
  }
}else{
  $respose['code'] = 0;
  $respose['message'] = "Updated Failed, Not data selected";
}
echo json_encode($respose);
?>


terakhir untuk DELETE seperti berikut:



include_once('connection.php');

$npm = addslashes(htmlentities($_POST['npm']));
$getdata = mysqli_query($koneksi,"SELECT * FROM mahasiswa WHERE npm = '$npm'");
$rows = mysqli_num_rows($getdata);

$delete = "DELETE FROM mahasiswa WHERE npm = '$npm'";
$exedelete = mysqli_query($koneksi,$delete);

$respose = array();
if($rows > 0)
{
  if ($exedelete) {
    $respose['code'] = 1;
    $respose['message'] = "Deleted Success";
  }else{
    $respose['code'] = 0;
    $respose['message'] = "Failed to Delete";
  }
}else{
  $respose['code'] = 0;
  $respose['message'] = "Failed to Delete, data Not Found";
}


echo json_encode($respose);
?>



selesai sudah sudah API CRUD nya Create Read Update Delete sudah lengkap

untuk menyembunyikan susunan file pada folder kita bisa menggunakan .htaccess isinya hanya seperti ini Options -Indexes karena kita tidak memiliki file index jadi file-file yang ada dalam folder kita akan ditampilkan semua kalau API nya sudah kita rilis atau diupload ke server akan sangat berbahaya karena hacker akan mudah melihat susunan file kita selain dengan htaccess kita juga bisa membuat file index yang isi nya access denied misalnya