convert boolean param value php

jika ada input boolean sebaga parameter  misal true atau false

misal dari inputan check box html seperti ini 

var $persetujuan = $(‘#persetujuan’).is(‘:checked’);

agar dalam  if php  bisa mendetekasi maka hang lupa di konversi sebagai berikut

filter_var($GETnya, FILTER_VALIDATE_BOOLEAN);

semoga berguna 🙂

referensi :

https://stackoverflow.com/questions/24063590/passing-a-boolean-through-php-get

 

 

Ditulis dalam php. Leave a Comment »

error open hasil phpword

jika anda menggunakan phpword untuk menggenerated dokumen hasil php word , coba cek pada karakter yang ditampilkan jangan – jangan terdapat spesial character seperti ” , &  dsb .untuk mengatasinya dilakukan escaping terhadap karakter tersebut, bisa melalui 2 cara yaitu escaping dengan fungsi bawaan phpword atau diluar itu ada beebrapa yang berhasil dengan fungsi htmlspecialchars() dari php,

berikut fungsi escaping spesial character dengan fungsi bawaan  phpword , tambahkan kode berikut sebelum fungsi pada phpword dipakai membuat dokumen

\PhpOffice\PhpWord\Settings::setOutputEscapingEnabled(true);

semoga berguna 🙂

referensi :

 

composer melihat dependency library

untuk melihat depency library dengan composer anda dapat mengetik perintah berikut ini

composer show --tree

hasilnya

show list composer

semoga berguna 🙂

referensi :

  1. https://stackoverflow.com/questions/43493502/how-to-show-what-requires-a-package-in-composer
Ditulis dalam php. Leave a Comment »

validasi nilai parameter get pada laravel

berikut cara validasi nilai parameter yang dikirim dengan method  get pada laravel     


$doctor_id=$request->doctor_id;
$limit=$request->limit;
$offset=$request->offset;
 
$r = [
            'doctor_id' => $doctor_id,
            'limit' => $limit,
            'offset' => $offset,
        ];

        $validator = Validator::make($r, [
            'doctor_id' => 'required|numeric|min:1|exists:doctors,id',
            'limit' => 'required|numeric|min:1',
            'offset' => 'required|numeric|min:0',
        ]);

semoga berguna :)

referensi :

Ditulis dalam php. Leave a Comment »

handle MethodNotAllowedHttpException laravel

buka /app/Exceptions/Handler

tambahkan kode ini atas , use Symfony \ Component \ HttpKernel \ Exception \
MethodNotAllowedHttpException

kemudian

public function render($request, Exception $exception)
{
//tambahkan kode ini

if ($exception instanceof MethodNotAllowedHttpException) {
//jika ajax
if($request->ajax())
{

return response()->json([‘error’ => ‘halaman tidak ditemukan’],401);
}

//jika nonajax
return redirect(‘/home’)->with([‘warning’ => ‘halaman tidak ditemukan’ ]);
}

return parent::render($request, $exception);
}

referensi
https://laracasts.com/discuss/channels/laravel/best-way-to-handle-methodnotallowedhttpexception?page=1
https://laravel.com/docs/5.8/errors
https://github.com/getsentry/sentry-laravel/issues/246

Ditulis dalam php. Leave a Comment »

counter view post unique

berikut cara untuk membuat view post atau jumlah kunjungan pada sebuah posting , dimana akan mengunci pada session user , sehingga klik refresh tidak akan menambah jumlah counter, kita menggunakan 2 tabel , 1 tabel artikel dan 1 tabel page count yang berisi histori session (agar klik refresh tidak menambah jumlah counter )

database

tabel page count


tb_page_count (id_page_count,user_ip,tanggal,session_id,id_artikel)

user_ip = ip_addres pengujung

tanggal = tanggal pada saat masuk

session_id = session browser pada saat masuk

id_artikel = id artikel yang kita lihat

tabel artikel


tb_artikel (id_artikel,nama_artikel,counter)

kode insert setiap buka artikel tersebut


function connect_db() {
$server = 'localhost'; // this may be an ip address instead
$user = '............... ';
$pass = ' ........';
$database = ' ...........';
$connection = new mysqli($server, $user, $pass, $database);

return $connection;
}

$user_ip=$_SERVER['REMOTE_ADDR']; // gets the user IP Address
$ses_id=session_id();
$sql_cek="select id_page_count from tb_page_count where id_artikel='$id' and user_ip='$user_ip' and ses_id='$ses_id'";

$hasil_cek = $db->query($sql_cek)or die("insert data gagal, Sistem penyimpanan bermasalah");
$rowscek = $hasil_cek->num_rows;
$hasil_cek->close();
if($rowscek ==0)
{
$tanggal =date( 'Y-m-d H:i:s');
$sql2="insert into tb_page_count(id_artikel,user_ip,ses_id,tgl) values('$id','$user_ip','$ses_id','$tanggal'); update tb_jual set counter = counter+1 where id_artikel='$id' ";
$db->multi_query($sql2) or die("insert data gagal, Sistem penyimpanan bermasalah");
while($db->more_results() && $db->next_result()) {
$result = $db->use_result();
if($result instanceof mysqli_result){
$result->free();
}
}

}

kode menampilkan jumlah klik, langsung ditampilkan dari tabel artikel


select tb_artikel.counter where id_artikel ='....'

  • kode ini jika dieksekusi , akan menambah jumlah counter tetapi jika kita referes tidak akan menambah karena session nya masih ada , jika session nya sudah habis maka counter akan tambah,
  • jika dibuka dengan browser yang beda dalam komputer yang sama, dalam waktu yang sama akan menambah counter karena beda session browser

semoga berguna 🙂

referensi :

get post slim 3 php

untuk mengambil isi variabel dengan post pada slim3 yang dapat dilakukan adalah sebagai berikut, nama variabel username

perintah ini mengecek method  post maupun get


$data1 = $request->getParam('username'); //hanya variabel dengan nama username saja
$data2 = $request->getParams(); //semua variabel , nanti diambil berdasar nama variabel yang ingin diambil

perintah ini hanya mengecek method post


$data3= $request->getParsedBody()['username']; //checks _POST

perintah ini hanya mengecek method get


$data4 = $request->getQueryParams()['username']; //checks _GET

tampilkan dengan kode ini

echo "pakai getparam : ".$data1.
"<br>pakai getparams : ".$data2['username'].
"<br>pakai getParsedBody : ".$data3.
"<br>pakai getQueryParams : ".$data4;

semoga berguna 🙂

referensi :

load data dari database menggunakan datagrid jeasyui dengan php

berikut langkah untuk meload database menggunakan datagrid jeasyui

syaratnya

  • membutuhkan library jquery
  • membutuhkan library jeasyui

download dulu library jeasyui disini

berikut kodenya

load dulu kebutuhan librarynya


<script src="/jquery-1.11.2.min.js"></script> (ganti dnegan alamat jqueryanda download <a href="https://jquery.com/">disini</a>)
	<link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/default/easyui.css">
	<link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/icon.css">
	<link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/color.css">
<script type="text/javascript" src="http://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>

halaman htmlnya

<table id="dg" title="Menu Data Kategori" class="easyui-datagrid" style="width:700px;height:250px"
url="alamatloaddata"
toolbar="#toolbar" pagination="true" loadMsg="Loading!..."
rownumbers="true" fitColumns="true" singleSelect="true">
<thead>
<tr>
<th field="id" hidden='true' width="50">ID</th>
<th field="kat" width="50">Kategori</th>
</tr>
</thead>
</table>
<div id="toolbar">
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-add" plain="true" onclick="newUser()">Tambah Kategori</a>
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-edit" plain="true" onclick="editUser()">Edit Kategori</a>
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-remove" plain="true" onclick="destroyUser()">Delete Kategori</a>
<span>Kategori:</span>
<input id="cari" style="line-height:26px;border:1px solid #ccc">

<a href="#" class="easyui-linkbutton" plain="true" onclick="doSearch()">Search</a>
<span style="float:right;padding:5px">
<a href="#" class="easyui-linkbutton" plain="true" onclick="reset()">Reset</a>
</span></div>

untuk load data dari database kedalam tabel ganti isi url dengan alamat data untuk diload

berikut file jsonnya

{

"1":{"id":"1","kat":"Barang (mobil, properti, komputer, sepatu dsb)"},

"2":{"id":"3","kat":"Hewan"},

"3":{"id":"102","kat":"Informasi (Event, Acara Kota, Bazaar, Pengobatan Gratis Dsb)"},

"4":{"id":"2","kat":"Jasa (katering, Event organizer, bengkel, dsb)"},

"5":{"id":"38","kat":"Lowongan Kerja"},

"6":{"id":"25","kat":"Properti (Tanah,Rumah,Ruko dsb)"},

"7":{"id":"4","kat":"Tanaman"}

}

dari file json tersebut diparsing dengan file datagrid pada kolom

<input name=”kat” class=”easyui-textbox” type=”text”> //ini ditampilkan
<input name=”id” type=”hidden”> // ini disembunyikan

beberapa contoh membuat json diatas dengan php


$db=koneksi ke mysql

$sql = "select * from tb_kategori where status ='a' and id_sub_kategori='0' order by kategori ASC";
$encode;
$db=connect_db();
$hasil = $db->query($sql) or die("Sistem penyimpanan bermasalah".$db->error);
$encode = array();
$nilai=1;
while($row=$hasil->fetch_assoc())
{

$encode[$nilai] = array( 'id' =>$row['id_kategori'],'kat'=> $row['kategori']);
$nilai++;
}

$db->close();

echo json_encode($encode);

hasilnya

jeasyui-table

semoga berguna 🙂

 

get php reporting error

agar php menampilkan error beberapa yang harus kita konfigurasi adalah:

pada file php kita harus memuat ini


ini_set('display_errors', 1);

ini_set('display_startup_errors', 1);

error_reporting(E_ALL);

pada file php.ini ubah kode ini


display_errors = on

dan

display_startup_errors = on

semoga berguna 🙂

referensi :

cek timezone php

berikut cara cek timezone , timezone php akan menentukan waktu server kita karena zona waktu yang digunakan PHP menganut waktu server , adanya beda timezone akan membuat perbedaan waktu antara komputer kita (dengan zona waktu kita) dengan server php ( menggunakan zona server )

 


cara 1

echo date_default_timezone_get();
cara2
echo phpinfo();

kemudian mencari date.timezone disana akan tertera timzone kita

referensi: