WordPress Muncul Error 504 Gateway Time-Out

Mungkin buat kamu yang fokus di konten jarang memperhatikan hal ini, tapi jika kamu adalah seorang yang mengerti dan paham masalah theme, plugin dan sedikit mengerti server/hosting maka bisa saja menemukan hal ini.

Pastinya untuk Developer WordPress akan sering menemui ini ketika membuat fungsi atau kodingan yang terasa berat di hosting atau bahkan server.

Error 504 Gateway Time-out adalah waktu proses yang terlalu lama. Waktu proses ini tergantung pengaturan max execute time di PHP.
Berikut pesan error yang banyak ditemui :

  • “504 Gateway Timeout”
  • “504 Gateway Time-Out”
  • “504 Gateway Timeout NGINX”
  • “Nginx 504 Gateway Timeout”
  • “HTTP 504 Gateway Timeout”
  • “HTTP 504 Error”
  • “HTTP 504”
  • “Gateway Timeout (504)”

Biasanya waktu proses lebih dari 30 detik (default value).

Error diatas akan adalah contoh ketika proses ajax terlalu lama maka akan muncul di console log browser : POST https://example.net/wp-admin/admin-ajax.php 504 ()

 
Dan gambar diatas contoh 504 Gateway Time-out nginx di browser ketika menggunakan proses php biasa.

Mengatasi masalah 504 Gateway Time-out

Cara Pertama : Mengganti konfigrurasi max_execution_time, request_terminate_timeout, fastcgi_read_timeout

nano /etc/php5/fpm/php.ini
max_execution_time = 300
nano /etc/php5/fpm/pool.d/www.conf
request_terminate_timeout = 300
nano /etc/nginx/nginx.conf
http {
#...
fastcgi_read_timeout 300;
#...
}
And in your config:
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_read_timeout 300;
}
And reload services
service php5-fpm reload
service nginx reload

Cara Kedua : Jika kamu Developer, Perbaikin code untuk memperingan proses php (Agar proses tidak melebihi 30 detik).

Terima kasih sudah membaca jika ada yang mau ditanyakan silahkan komentar atau butuh bantuan atau kerjaan tentang Programming bisa kontak saya di halaman kontak.
 

RunCloud alternatif ServerPilot Murah Meriah !! Tapi …

Jika sobat kentos terbiasa menggunakan VPS / Server dan tidak mau repot menggunakan terminal untuk mengelola website. Tentu tidak asing dengan salah satu Control Panel satu ini, yaitu ServerPilot. Server Pilot memang control panel favorit para pengguna WordPress tentunya. Karena mudah dan stabil tidak sedikit yang menggunakannya dan tentu ada sedikit yang kurang kentos sukai disini.
Apa itu? yaitu biaya. ServerPilot mebebankan $10/bulan/server. Nah kalo punya banyak server tekor juga…
Tetapi tanpa disengaja kentos menemukan Control Panel alternatif yang bisa dibilang masih baru. RunCloud adalah control panel yang mengunggulkan fitur hybrid nginx+apache yang cepat untuk load sebuah website. Untuk biaya yang dibebankan memang sama yaitu $10/bulan tetapi tidak untuk satu server saja melainkan $10/bulan untuk semua server yang sobat kentos punya.. haha.. mantap betul bukan.. ??
Penasaran dengan RunCloud? Klik runcloud.io
Oke.. Kentos tidak akan mereview banyak tentang RunCloud disini. Melainkan hanya ingin memberitahu masalah yang dialami ketika menggunakan fitur hybrid nginx+apache.
Jadi fitur hybrid nginx+apache ini akan membagi tugas, file statis seperti html, css, js, image, xml akan diproses oleh nginx sedangkan file dinamis akan diproses oleh Apache2 + PHP-FPM.
Kendala muncul ketika kentos akan menggunakan plugin favorit yaitu byrev wp picshield tidak bekerja sebagaimana mestinya.
Karena sudah diketahui tugas-tugas mereka kentos langsung menuduh nginx sebagai pelakunya karena .htaccess tidak terbaca oleh apache2.
Kentos mencari cari dimana letak config nginx dan ketemu di

/etc/nginx-rc/conf.d/namadomain.d

kemudian edit file main.conf dengan perintah

nano main.conf

Cari location yang menyebut sebuah ekstensi gambar seperti gif, png, jpg dan jpeg.
Sebelumnya terlihat seperti ini :

location ~ .(ico|css|gif|jpe?g|png|gz|zip|flv|rar|wmv|avi|css|js|swf|png|htc|mpeg|mpg|txt|otf|ttf|eot|woff|svg|html)$ {

dan kentos ubah menjadi seperti ini :

location ~ .(ico|css|gz|zip|flv|rar|wmv|avi|css|js|swf|png|htc|mpeg|mpg|txt|otf$

Sudah tinggal reload aja config nginx dengan perintah dibawah :

systemctl reload nginx-rc

Silahkan coba lagi. 🙂

Membuat Featured Image Otomatis Di Setiap Post WordPress

Kalo kamu baca ini pasti lagi bingung cara membuat Featured Image di WordPress secara otomatis ya? Atau kelupaan ada beberapa post di blog kamu yang tidak menggunakan Featured Image?

Langsung saja salin PHP code dibawah ini ke file functions.php di tema WordPress kamu. Taruh aja paling bawah.

//featured image
function autoset_featured() {
          global $post;
          $already_has_thumb = has_post_thumbnail($post->ID);
              if (!$already_has_thumb)  {
              $attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" );
                          if ($attached_image) {
                                foreach ($attached_image as $attachment_id => $attachment) {
                                set_post_thumbnail($post->ID, $attachment_id);
                                }
                           }
                        }
      }
add_action('the_post', 'autoset_featured');
add_action('save_post', 'autoset_featured');
add_action('draft_to_publish', 'autoset_featured');
add_action('new_to_publish', 'autoset_featured');
add_action('pending_to_publish', 'autoset_featured');
add_action('future_to_publish', 'autoset_featured');

Silahkan kamu cek apakah tiap post sudah ada featured image atau belum? Jika sukses atau ada masalah tanyakan di komentar ya.

WordPress : Muncul "Notice: WP_Widget is deprecated since version 4.3.0"

Ketika update wordpress muncul “Notice: WP_Widget is deprecated since version 4.3.0” lalu bagimana menghilangkan peringatan tersebut?

Notice: The called constructor method for WP_Widget in ... is deprecated since version 4.3.0! Use __construct() instead. in ...\wp-includes\functions.php on line 3891

Setelah saya telusuri ditemukan code :

$this->WP_Widget('karisma-recent-posts', __('Karisma Recent Posts ', $this->localization_domain), $widget_ops);

Solusinya adalah dengan mengganti $this->WP_Widget dengan parent::__construct seperti di bawah ini :

parent::__construct('karisma-recent-posts', __('Karisma Recent Posts ', $this->localization_domain), $widget_ops);

Selesai sudah silahkan coba reload/refresh halaman web dan peringatan tersebut akan hilang.

Cara Mengatasi WordPress database error: [Duplicate entry '0' for key 'PRIMARY']

Beberapa saat lalu kentos menemukan error yang lumayan membuat panik. WordPress database error: [Duplicate entry ‘0’ for key ‘PRIMARY’] ini akan muncul ketika menambahkan entry, contohnya membuat postingan baru, user baru, halaman baru dan lain-lain.
Contoh error yang kentos alami :
Cara Mengatasi WordPress database error: [Duplicate entry '0' for key 'PRIMARY']

WordPress database error: [Duplicate entry '0' for key 'PRIMARY']
INSERT INTO `wp_posts` (`post_author`, `post_date`, `post_date_gmt`, `post_content`, `post_content_filtered`, `post_title`, `post_excerpt`, `post_status`, `post_type`, `comment_status`, `ping_status`, `post_password`, `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_parent`, `menu_order`, `post_mime_type`, `guid`) VALUES (1, '2016-01-23 13:50:44', '0000-00-00 00:00:00', '', '', 'Auto Draft', '', 'auto-draft', 'post', 'open', 'open', '', '', '', '', '2016-01-23 13:50:44', '0000-00-00 00:00:00', 0, 0, '', '')

Cara Mengatasi WordPress database error: [Duplicate entry ‘0’ for key ‘PRIMARY’]

Error tersebut berati menandakan bahwa ada duplikasi id atau ada id yang sama dikarenakan ada field dari salah satu tabel yang tidak menggunakan auto increment. Oleh karena itu silahkan aktifkan auto increment pada primary ID.
Bagaimana cara mengaktifkan auto increment untuk primary ID?

  • Buka phpMyAdmin
  • pilih database WordPress
  • pilih tabel dimana error itu muncul (pada contoh kasus diatas duplikasi muncul di tabel wp_posts maka pilih tabel wp_posts)
  • Ubah baris pada field “comments_id”
  • Beri tanda centang pada “auto_increment”
  • Save

WordPress database error: [Duplicate entry '0' for key 'PRIMARY'] Auto Increment WordPress database error: [Duplicate entry '0' for key 'PRIMARY']
Silahkan ulangi pada tabel lain jika masih ada error ditabel lain untuk mengatasi WordPress database error: [Duplicate entry ‘0’ for key ‘PRIMARY’].

Cara install XCache di CentOS agar load website jadi kencang

Cara install XCache di CentOS agar load website jadi kencang ini adalah artikel lanjutan dari artikel sebelumnya mengenai cara install Kloxo-MR di VPS Centos dan cara install ioncube loader di VPS CentOS pada Kloxo-MR.
XCache adalah modul PHP dimana digunakan untuk menyimpan cache webserver agar load website menjadi lebih ringan atau kencang. Cara kerja XCache ini adalah meng-cache script PHP yang pernah dicompile dalam memory. XCache dapat mempercepat kinerja PHP pada server dengan cara menghilangkan waktu kompilasi script PHP dengan caching yang dikompilasi dari script PHP ke dalam RAM dan menggunakan script PHP yang sudah terkompilasi tersebut langsung dari RAM.

Cara install XCache di CentOS agar load website jadi kencang

Dini kentos menggunakan PHP 5.3.29 alias php53u.
PHP Brach php53u Kloxo MR
Setelah menginstall Kloxo MR dan akan menggunakan cache webserver maka diperlukan XCache ini untuk melakukan caching. Sebelum ke tahap install, terlebih dahulu cek modul PHP yang telah terinstall dengan cara :

php -v

contoh hasilnya :

[[email protected] ~]# php -v
PHP 5.3.29 (cli) (built: Aug 14 2014 12:38:37)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2014 Zend Technologies
    with the ionCube PHP Loader v4.6.1, Copyright (c) 2002-2014, by ionCube Ltd.
[[email protected] ~]#

Yang sudah terinstall barulah ionCube PHP Loader. Mari dimulai proses install XCache dengan cara berikut :
Cek dulu ketersediaan package dengan perintah yum list php53u-xcache* jika menggunakan php53u.

[[email protected] ~]# yum list php53u-xcache*
Loaded plugins: fastestmirror, priorities, protectbase, replace, security
Loading mirror speeds from cached hostfile
 * mratwork-epel: mirror.us.xxx.net
 * mratwork-ius-stable: mirror.symnds.com
0 packages excluded due to repository protections
Available Packages
php53u-xcache.i686                  3.1.0-1.ius.el6         mratwork-ius-archive
php53u-xcache-debuginfo.i686        3.1.0-1.ius.el6         mratwork-ius-archive
[[email protected] ~]#

Ditemujan 2 packages, untuk menginstall langsung keduanya gunakan perintah berikut :

yum install php53u-xcache*

Hasil saat Proses install XCache

[[email protected] ~]# yum install php53u-xcache*
Loaded plugins: fastestmirror, priorities, protectbase, replace, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * mratwork-epel: mirror.us.xxx.net
 * mratwork-ius-stable: mirror.symnds.com
0 packages excluded due to repository protections
Resolving Dependencies
--> Running transaction check
---> Package php53u-xcache.i686 0:3.1.0-1.ius.el6 will be installed
---> Package php53u-xcache-debuginfo.i686 0:3.1.0-1.ius.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
 Package                  Arch  Version             Repository             Size
================================================================================
Installing:
 php53u-xcache            i686  3.1.0-1.ius.el6     mratwork-ius-archive  108 k
 php53u-xcache-debuginfo  i686  3.1.0-1.ius.el6     mratwork-ius-archive  244 k
Transaction Summary
================================================================================
Install       2 Package(s)
Total download size: 352 k
Installed size: 1.5 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): php53u-xcache-3.1.0-1.ius.el6.i686.rpm            | 108 kB     00:00
(2/2): php53u-xcache-debuginfo-3.1.0-1.ius.el6.i686.rpm  | 244 kB     00:00
--------------------------------------------------------------------------------
Total                                           612 kB/s | 352 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : php53u-xcache-debuginfo-3.1.0-1.ius.el6.i686                 1/2
  Installing : php53u-xcache-3.1.0-1.ius.el6.i686                           2/2
  Verifying  : php53u-xcache-debuginfo-3.1.0-1.ius.el6.i686                 1/2
  Verifying  : php53u-xcache-3.1.0-1.ius.el6.i686                           2/2
Installed:
  php53u-xcache.i686 0:3.1.0-1.ius.el6
  php53u-xcache-debuginfo.i686 0:3.1.0-1.ius.el6
Complete!
[[email protected] ~]#

Hasil setelah XCache terinstall

[[email protected] ~]# php -v
PHP 5.3.29 (cli) (built: Aug 14 2014 12:38:37)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2014 Zend Technologies
    with XCache v3.1.0, Copyright (c) 2005-2013, by mOo
    with the ionCube PHP Loader v4.6.1, Copyright (c) 2002-2014, by ionCube Ltd.
    with XCache Optimizer v3.1.0, Copyright (c) 2005-2013, by mOo
    with XCache Cacher v3.1.0, Copyright (c) 2005-2013, by mOo
    with XCache Coverager v3.1.0, Copyright (c) 2005-2013, by mOo
[[email protected] ~]#

Dah… Selesai juga install XCache di CentOS agar load website jadi kencang. Silahkan di konfigurasi sendiri script php cachingnya.

MyThemeShop bagi-bagi WordPress themes cuma $9, buruan!

Dalam rangka merayakan 200 ribu pengguna MyThemeShop yang terdaftar, MyThemeShop membagikan seluruh themes dan plugins dengan harga yang jauh dari harga normalnya, yaitu 9 dollar untuk semua themes dan plugins MyThemeShop.
Harga normal themes wordpress di MyThemesShop sekarang sudah mencapai $69, WOW!
Jika dihari ini juga kamu order themes di MyThemesShop cukup dengan membayar 1 themes dengan $9 saja! Terlihat jauh sekali dengan harga normalnya. Berapa persen itu diskonnya? Hitung aja sendiri. 😛
Untuk mendapatkan harga $9 kamu harus menggunakan coupon code yang diberikan oleh MyThemeShop.
coupon code mythemeshop wordpress themes
Click here to check offer details >>
“Use coupon code 200KOffer to get any theme or plugin for just $9.”
Itu coupon code untuk mendapatkan themes dan plugins seharga $9. Ingat coupon code ini hanya berlaku 24 jam atau 1 hari saja. Jadi buruan jangan sampai ketinggalan!

Kentos Dengan Desain Baru, Karisma WordPress Theme

Kentos akhirnya kembali dengan desain baru, yang diberinama Karisma WordPress theme. Setelah sekian lama tidak pernah keurus akhirnya punya ide iseng-iseng bikin theme WordPress. Sebelum ini juga sudah pernah buat namun tidak saya pakai lagi karena tidak ada waktu untuk ngurusnya.
Kenapa saya buat sendiri selain untuk menghemat kantong juga untuk belajar juga. Awalnya mungkin tidak akan muncul ide buat theme WordPress lagi kalo tidak ada yang pakai theme WordPress yang sama dengan theme sebelumnya. Theme WordPress sebelumnya menggunakan “Point” theme WordPress dari MyThemeshop.
Sebenarnya jika hanya temanya saja tidak begitu membuat saya berfikir untuk mengganti theme blog ini, namun sayangnya mereka selain menggunakan theme WordPress yang sama juga meng-copy-paste artikel yang ada disini.
Tapi ya sudahlah biarkan, kalo saya tidak mau tulisan saya di copy paste kenapa saya tulis di publik dan tidak saya patenkan. hehee…
Kok malah bahas mereka?? Lanjut dengan desain baru kentos aja.. B-)
kentos desain baru dengan karisma wordpress theme seo friendly
Gimana menurut temen-temen theme kentos yang baru ini ? Sayangnya masih belum responsive, niatnya juga mau dibuat responsive karena udah jadi kewajiban theme sekarang sepertinya. Alasannya tentu agar tetap nyaman ketika di akses dengan ponsel.
Fiturnya masih simple belum ada Theme Option di halaman Dasboard Admin. Rencana juga mau saya buatkan tapi masih dalam tahap pembelajaran, jadi agak susah juga buat ngimplementasikan di theme Karisma ini.
Di sisi widget pakai dua custom recent post, yang pertama dengan thumbnail dan tidak namun menggunakan background berwarna orange seperti yang teman-teman lihat. Widget footer juga ada tiga namun tidak saya aktifkan.
Oh ya, jangan lupa caci makinya di form komentar yang akan saya terima senang hati. 🙂
Kira-kira kalo saya bagikan gratis ada yang minat tidak ya? Untuk 5 pemberi komentar pertama saja. Info lebihnya kunjungi https://karismaid.com ya 🙂

Cara Membuat Form Daftar, Login dan Logout dengan PHP MySQL

Cara Membuat Form Daftar, Login dan Logout dengan PHP MySQL – Dalam pembuatan website tentunya memerlukan sebuah form, baik untuk menentukan member atau admin.

Membuat Database MySQL dengan phpMyAdmin

Terlebih dahulu buatlah database, dalam contoh ini saya menggunakan phpMyAdmin.

  • Buat database dengan nama latihan”.
    Cara Membuat Form Daftar, Login dan Logout dengan PHP MySQL
  • Buat tabel dengan nama “user” dan isikan 3 untuk jumlah kolom yang akan dibuat.
    Cara Membuat Form Daftar, Login dan Logout dengan PHP MySQL
  • Kemudian isikan ke 3 kolom yang telah dibuat tadi seperti berikut :
    Gambar Cara Membuat Form Daftar, Login dan Logout dengan PHP MySQL

  • Jika sudah silahkan tekan tombol save untuk menyimpan field yang telah kita isikan.

Apabila langkah diatas telah dilalui berati database telah selesai dibuat dan siap digunakan. Langkah berikutnya adalah membuat form dan proses PHP ke database MySQL.
Disini diperlukan beberapa file yang harus dibuat.

  1. koneksi.php
  2. index.php
  3. daftar.php
  4. prosesdaftar.php
  5. login.php
  6. proseslogin.php
  7. logout.php

Sebelum ke pembuatan form daftar dan login saya minta untuk membuat file koneksi.php untuk menghubungkan ke database, dengan kode dibawah ini.

<?php $host = "localhost"; $user = "root"; $pass = ""; $db = "latihan"; $konek = mysql_connect($host, $user, $pass) or die ('Koneksi Gagal! '); mysql_select_db($db); ?>

Pertama buatlah file dengan nama index.php dimana file ini akan ditampilkan ketika login sukses, isikan dengan kode dibawah :

<?php session_start();
if(!isset($_SESSION['username'])) {
header('location:login.php'); }
else { $username = $_SESSION['username']; }
require_once("koneksi.php");
$query = mysql_query("SELECT * FROM user WHERE username = '$username'");
$hasil = mysql_fetch_array($query);
?>
<center><?php echo "<h2>Selamat Datang, $username</h2>"; ?><a href="logout.php"><b>Logout</b></a></center>

Buatlah file dengan nama daftar.php dan isikan dengan code dibawah ini.

<?php session_start();
if(isset($_SESSION['username'])) {
header('location:index.php'); }
?>
<center>
<form action="prosesdaftar.php" method="post">
<table>
<tbody>
<tr>
<td colspan="2" align="center">
<h1>Daftar Baru</h1>
</td>
</tr>
<tr>
<td>Username</td>
<td>: <input name="username" type="text" /></td>
</tr>
<tr>
<td>Password</td>
<td>: <input name="password" type="password" /></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" value="Daftar" /> <input type="reset" value="Batal" /></td>
</tr>
<tr>
<td colspan="2" align="center">Sudah Punya akun ? <a href="login.php"><b>Login</b></a></td>
</tr>
</tbody>
</table>
</form>
</center>

Sekarang buat file prosesdaftar.php untuk melakukan proses yang diminta pada file daftar.php.

<?php require_once("koneksi.php");
$username = $_POST['username'];
$pass = $_POST['password'];
$cekuser = mysql_query("SELECT * FROM user WHERE username = '$username'");
if(mysql_num_rows($cekuser) <> 0) {
echo "Username Sudah Terdaftar!";
echo "<a href="daftar.php">&amp;amp;laquo; Back</a>";
} else {
if(!$username || !$pass) {
echo "Masih ada data yang kosong!";
echo "<a href="daftar.php">&amp;amp;laquo; Back</a>";
} else {
$simpan = mysql_query("INSERT INTO user(username, password) VALUES('$username','$pass')");
if($simpan) {
echo "Pendaftaran Sukses, Silahkan <a href="login.php">Login</a>";
} else {
echo "Proses Gagal!";
}
}
}
?>

Selanjutnya adalah membuat file login.php dengan kode dibawah.

<?php session_start();
if(isset($_SESSION['username'])) {
header('location:index.php'); }
require_once("koneksi.php");
?>
<center>
<form action="proseslogin.php" method="post">
<h1>Masuk</h1>
<table>
<tbody>
<tr>
<td>Username</td>
<td>: <input name="username" type="text" /></td>
</tr>
<tr>
<td>Password</td>
<td>: <input name="password" type="password" /></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" value="Login" /> <input type="reset" value="Batal" /></td>
</tr>
<tr>
<td colspan="2" align="center">Belum Punya akun ? <a href="daftar.php"><b>Daftar</b></a></td>
</tr>
</tbody>
</table>
</form>
</center>

Agar file login dapat berjalan buatlah file proseslogin.php dengan kode dibawah.

<?php session_start();
require_once("koneksi.php");
$username = $_POST['username'];
$pass = $_POST['password'];
$cekuser = mysql_query("SELECT * FROM user WHERE username = '$username'");
$jumlah = mysql_num_rows($cekuser);
$hasil = mysql_fetch_array($cekuser);
if($jumlah == 0) {
echo "Username Belum Terdaftar!";
echo "<a href="login.php">? Back</a>";
} else {
if($pass <=> $hasil['password']) {
echo "Password Salah!
";
echo "<a href="login.php">&amp;amp;laquo; Back</a>";
} else {
$_SESSION['username'] = $hasil['username'];
header('location:index.php');
}
}
?>

Dan yang terakhir adalah membuat file logout.php untuk menghapus session yang telah digunakan, isi dengan kode dibawah.

<?php session_start();
unset($_SESSION['username']);
?>
<h2>Anda telah berhasil logout..</h2>
Silahkan klik <b>disini</b> untuk login kembali

Pada Cara Membuat Form Daftar, Login dan Logout dengan PHP MySQL ini digunakan fungsi session dan method POST. Baca juga Fungsi dan Perbedaan Method POST dan GET pada PHP.

Fungsi dan Perbedaan Method POST dan GET pada PHP

Fungsi dan Perbedaan Method POST dan GET pada PHP – Dalam dunia PHP Programming tentu menggunakan Method POST dan GET. Apa itu Method POST dan GET ? Sedikit pengertian dari kegunaan Method POST dan GET ini sama yaitu?untuk mengirimkan nilai variabel ke halaman lain atau mengirimkan ke database dan mengambil nilai variabel dari halaman lain atau mengambil data pada database.
Penggunaan Method POST dan GET ini biasanya menggunakan form pada halaman PHP. Untuk perbedaannya sangatlah kecil pada Method POST dan GET namun sangat terlihat.
Sebagai contoh :

Method $_POST

Buatlah file dengan nama?index.php?dan isikan dengan code dibawah ini.
<html>
<head>
<title>Fungsi dan Perbedaan Method POST dan GET pada PHP</title>
</head>
<body>
Silakan Login dengan Username dan Password Anda
<form action="lihat.php" method="POST">
<table>
<tr>
<td>Username</td>
<td><input type="text" name="username"/></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="password"/></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Login"/></td>
</tr>
</table>
</form>
</body>
</html>

Kemudian buatlah file?lihat.php?untuk menampilkan input pada?index.php?dengan code dibawah ini.
<html>
<head>
<title>Fungsi dan Perbedaan Method POST dan GET pada PHP</title>
</head>
<body>
Username : <?php echo $_POST["username"]; ?><br/>
Password : <?php echo $_POST["password"]; ?>
</body>
</html>

Maka dibrowser akan tampil seperti ini.
Fungsi dan Perbedaan Method POST dan GET pada PHP

?Method $_GET

Buatlah file dengan nama index.php dan isikan dengan code dibawah ini.
<html>
<head>
<title>Fungsi dan Perbedaan Method POST dan GET pada PHP</title>
</head>
<body>
Silakan Masukkan Username dan Password Anda
<form action="lihat.php" method="GET">
<table>
<tr>
<td>Username</td>
<td><input type="text" name="username"/></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="password"/></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Login"/></td>
</tr>
</table>
</form>
</body>
</html>

Kemudian buatlah file lihat.php untuk menampilkan input pada index.php dengan code dibawah ini.
<html>
<head>
<title>Fungsi dan Perbedaan Method POST dan GET pada PHP</title>
</head>
<body>
Username : <?php echo $_GET["username"]; ?><br/>
Password : <?php echo $_GET["password"]; ?>
</body>
</html>

Maka dibrowser akan tampil seperti ini.
Fungsi dan Perbedaan Method POST dan GET pada PHP
Setelah melihat hasilnya pasti kamu sudah bisa menyimpulkan apa perbedaan Method POST dan GET ini.?Perbedaan Method POST dan GET pada PHP ini salah satunya adalah pada URL. Pada Method POST tidak menampilkan nilai variabel pada URL dan Method GET menampilkan nilai variabel yang dikirimkan.
Kesimpulannya :

  • Method POST tidak menampilkan nilai variabel pada URL dan Method GET menampilkan nilai variabel yang dikirimkan.
  • Method POST lebih aman dan Method GET kurang aman (pada contoh diatas berati password ditampilkan pada URL).
  • Jika Method GET dibatasi panjang string hingga 2047 karakter, Method POST tidak.
  • Perbedaan pengambilan data jika Method POST menggunakan $_POST sedangkan Method GET menggunakan $_GET.
  • Method POST biasanya digunakan untuk input dari FORM, Method GET menggunakan input dari LINK atau akses menggunakan link.
  • Method POST digunakan untuk mengirimkan data rahasia seperti password, Method GET digunakan untuk mengirimkan/mengambil data pablik seperti id_user atau id_halaman.

Catatan : Sebenarnya Method POST?dibatasi juga dengan ukuran 8MB, namun dapat diubah pada pengaturan?post_max_size dalam file php.ini (jika kamu memiliki hak akses ini).
Berikut demikian artikel sederhana untuk mengenali?Fungsi dan Perbedaan Method POST dan GET pada PHP.