trigger exception pada try catch laravel

untuk menggunakan atau melempar exception pada blok try catch laravel berikut caranya

</p>
<p>try</p>
<p>{</p>
<p>throw new \Exception('ini exception');</p>
<p>}</p>
<p>catch (\Exception $e)<br />{<br />$e-&gt;getMessage()<br />}</p>
<p>

referensi :

 

Ditulis dalam php. Tag: . Leave a Comment »

error 403 laravel document root change to folder home apache2

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 🙂