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:

menampilkan array multidimensi dengan PHP

untuk menampilkan array multidimensi dengan php

 
$kendaraan = array(

'mobil1' => array('namamobil' => array('kijang','panther'), 'spek' => array('ac','power window')),

'mobil2' => array('namamobil' => array('pajero','pejro2'),'spek' => array('alarm','power steering')),

'mobil3' =>array('namamobil' => array('xenia1','xenia2'),'spek' => array('vleg racing','sport cutting'))

);
//untuk menampilkannya
foreach($kendaraan as $name => $data){
 echo $name . '<br/>';
 foreach($data as $name2 => $value){
 echo $name2 . ': ' . $value[0] . '-' . $value[1].'<br> ';
 }
 echo '<br/>';
}</pre>
<pre>

semoga berguna:)

referensi :

mencari array berdasar keys dan mengembalikan indeks array

untuk mendapatkan indeks array dari hasil pencarian key,kita dapat menggunakan array_search menggunakan php berikut caranya

misalkan kita punya array asosiatif (arrary dengan key custom) binatang


<code><span class="pln">$binatang </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span></code>

<code> <span class="str">'no1'</span> <span class="pun">=></span> <span class="str">'gajah'</span><span class="pun">,</span></code>

<code> <span class="str">'no4'</span> <span class="pun">=></span> <span class="str">'burung'</span><span class="pun">,</span> </code>

<code> <span class="str">'hai'</span> <span class="pun">=></span> <span class="str">'naga'</span><span class="pun">,</span> </code>

<code> <span class="str">'you'</span> <span class="pun">=></span> <span class="str">'nyamuk'</span><span class="pun">,</span> </code>

<code> <span class="str">'1'</span> <span class="pun">=></span> <span class="str">'kecoa'</span><span class="pun">,</span> </code>

<code> <span class="str">'34'</span> <span class="pun">=></span> <span class="str">'hamster'</span><span class="pun">,</span> <span class="pun">);</span></code>

<code></code>// misalnya kita mau cari indeks sebiah arrary dengan key  'you' caranya cari dulu seua key dalam array tersebut

$keys = array_keys($binatang);

//kemudian cari indeksnya dari key pencarian key 'you'

$index = array_search('you',$keys);

<code><span class="pun">

semoga berguna 🙂

referensi:

mendapatkan keys array asosiatif php

cara untuk mendapatkan key array dari sebuah array asosiatif (key array yang didefinisikan sendiri) menggunakan fungsi array_keys


$array = array( 'one' =>'value', 'two' => 'value2' );

$allKeys = array_keys($array);

tampilkan key nya

foreach ($allKeys as $key => $value) { echo $key . ':' . $value . "\n"; }


referensi :

menggabungkan isi array kedalam string php

untuk menggabungkan isi sebuah array kedalam string kita bisa menggunakan fungsi implode yang akan memecah array kedalam string dengan format tertentu

msalnya kita punya array

$galleries yang akan kita pecah kedalam sebuah string


$galleries = array(1,2,5);

$matches = implode(',', $galleries);

maka hasil $matches akan berisi sebuah string 1,2,3

referensi :

  1. http://stackoverflow.com/questions/907806/php-mysql-using-an-array-in-where-clause