Seri Belajar PHP Dari Dasar

PHP merupakan bahasa pemrograman yang tidak terlalu sulit untuk di pelajari oleh siapa pun baik itu dari pelajar sma, smp, bahkan sd, mahasiswa, atau pun umum. Banyak referensi-referensi yang sudah ada di internet bisa kita gunakan. Namun tidak jadi berdosa jika disini di buatkan kembali versi blog. Bagi yang berminat silahkan pantau alamat di bawah ini.

http://endangcahyapermana.blogspot.com/

Solusi memberbaiki “Access denied for user ‘root’@’localhost’ (mysqli_real_connect(): (HY000/1698))” di Ubuntu 20.04 LTS

Pesan error ini saya alami ketika hendak melakukan instalasi phpmyadmin di ubuntu 20.04. Mungkin anda sedang mengalaminya dan sedang mencari solusinya. Berikut adalah cara menyelesaikannya hasil dari pencarian dan percobaan sendiri dan berhasil. Langkah awal yang dilakukan yaitu masuk ke terminal.

langkah berikutnya masuk sebagai super user

sudo su

kemudian login ke mysql

sudo root -u mysql

lakukan perubahan plugin dengan memasukan perinntah sql di bawah

UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root';

selanjutnya masukan perintah flush privileges sebagai penutup perubahan yang di lakukan.

FLUSH PRIVILEGES;

setelah langkah-langkah di atas selesai coba cek hasilnya di browser phpmyadminnya. semoga berhasil, salam koding, wassalam.

PHP Mengetahui Perangkat Yang Akses Web HP Atau PC

Berikut kode php untuk mendeteksi perangkat yang mengakses web php yang di buat, output yang di hasilkan yaitu memberikan info device yang akses itu mobile atau pc.

$device = "";
if(preg_match('/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$useragent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i',substr($useragent,0,4))) {
            $device = "Mobile";
} else {
            $device = "PC/Laptop"; 
}

Cukup mudah tinggal copas, dan modifikasi. Semoga bermanfaat, wassalam.

PHP Seting Timezone (Tanggal dan Waktu) Untuk Zona Asia Jakarta Untuk Pemula

Pernah kita menggunakan kode date(“Y-m-d H:i:s”); tapi waktu yang dimunculkan tidak sesuai dengan waktu kita seharusnya. Untuk memperbaikinya ada kode php yang harus di tambahkan, yakni fungsi date_default_timezone_set. Adapun contohnya adalah sebagai berikut.

<?php
date_default_timezone_set('Asia/Jakarta');
echo date("Y-m-d H:i:s");
?>

Dengan demikian waktu yang muncul sesuai dengan zona area yang seharusnya. Selamat mencoba, semoga bermanfaat, wassalam.

Membuat Image PNG QRCode dengan PHP untuk pemula

berikut script php sederhana untuk menggenerate qrcode image format png.

<?php
include "phpqrcode/qrlib.php";
$tempdir = "temp/"; //Nama folder tempat menyimpan file qrcode
if (!file_exists($tempdir)) //Buat folder bername temp
mkdir($tempdir);

$codeContents = 'htttp://endangcahyapermana.wordpress.com';
QRcode::png($codeContents, $tempdir . '01.png', QR_ECLEVEL_L, 1);
QRcode::png($codeContents, $tempdir . '02.png', QR_ECLEVEL_L, 2);
QRcode::png($codeContents, $tempdir . '03.png', QR_ECLEVEL_L, 3);
QRcode::png($codeContents, $tempdir . '04.png', QR_ECLEVEL_L, 4);
?>

Link Library php qrcode : https://www.4shared.com/zip/NtRy9tFEea/phpqrcode-2010100721_114.html.

Semoga bermanfaat, wassalam.

Cara Sederhana Upload File Menggunakan Ajax dan PHP

Selain menggunakan cara upload melalui form upload file biasa, kita juga bisa melakukan upload file melalui ajax. Library yang di gunakan JQuery.js, anda bisa gunakan link url dari web luar.

File yang akan di gunakan adalah index.php dan upload.php. Dengan isi script seperti berikut.
Pada direktori yang sama buat direktory dengan nama upload untuk menyimpan file hasil upload.

Index.php

<html>
<head>
<title>Upload Ajax</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
<?php echo date("h:i:s") ?>
<form id="form-data">
	<div class="form-group">
		<label>Nama File</label>
		<input type="text" name="nama_file" id="nama_file" class="form-control" />
	</div>
	<div class="form-group">
		<label>File Upload</label>
		<input type="file" name="fileupload" id="fileupload" class="form-control" />
	</div>
	<div class="form-group">
		<input type="button" name="upload" id="upload" value="Upload" class="btn btn-info mt-3" />
	</div>
</form>
<script>
	$(document).ready( function () {
		$("#upload").click(function(){
			const fileupload = $('#fileupload').prop('files')[0];
			var nama_file = $('#nama_file').val();
 
			if (nama_file!="" && fileupload!="") {
		        let formData = new FormData();
		        formData.append('fileupload', fileupload);
		        formData.append('nama_file', nama_file);
 
		        $.ajax({
		            type: 'POST',
		            url: "upload.php",
		            data: formData,
		            cache: false,
		            processData: false,
		            contentType: false,
		            success: function (msg) {
		                alert(msg);
		                document.getElementById("form-data").reset();
		            },
		            error: function () {
		                alert("Data Gagal Diupload");
		            }
		        });
		    }
        });
    });
</script>
</body>
</html>

Upload.php.

<?php
  $temp = "upload/";
  if (!file_exists($temp))
    mkdir($temp);
 
  $nama_file       = $_POST['nama_file'];
  $fileupload      = $_FILES['fileupload']['tmp_name'];
  $ImageName       = $_FILES['fileupload']['name'];
  $ImageType       = $_FILES['fileupload']['type'];
 
  if (!empty($fileupload)){
    $ImageExt       = substr($ImageName, strrpos($ImageName, '.'));
    $ImageExt       = str_replace('.','',$ImageExt); // Extension
    $ImageName      = preg_replace("/\.[^.\s]{3,4}$/", "", $ImageName);
    $NewImageName   = str_replace(' ', '', $nama_file.'.'.$ImageExt);
 
    move_uploaded_file($_FILES["fileupload"]["tmp_name"], $temp.$NewImageName); // Menyimpan file
 
    echo "Data Berhasil Diupload";
  } else {
    echo "Data Gagal Diupload";
  }
?>

Semoga bermanfaat, wassalam.

PHP Setting Date/ Tanggal Indonesia Format (Tanggal Nama_Bulan Tahun)

Ada berbagai cara untuk mendapatkan format tanggal seperti ’01 januari 2020′ dari default format tanggal. Namun untuk cara yang sederhana kita bisa menggunakan cara sebagai berikut.

setlocale(LC_ALL, 'id-ID', 'id_ID');
echo strftime("%d %B %Y", strtotime('2020-02-25');

dengan kode di atas anda akan memperoleh hasil sebagai berikut

25 Februari 2020

semoga bermanfaat, wassalam.

Tehnik Untuk Mengecek Sebuah Host/IP Aktif atau Tidak di PHP

Cara mengetahui sebuah host atau ip dengan menggunakan php adalah dengan menggunakan script seperti berikut ini.

function pingHost($host) {
$fp = @fsockopen($host, 80, $errno, $errstr, 10);
if (!$fp) {
echo "$errstr ($errno)<br />\n";

} else {

$out = "GET / HTTP/1.1\r\n";
$out .= "Host\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
}

atau bisa lebih sederhana seperti berikut.

function pingHost($host) {
$fp = @fsockopen($host, 80, $errno, $errstr, 10);
if (!$fp) {
return 'alive';
} else {
return 'dead';
}

Why not use exec function…. mengapa tidak menggunakan fungsi exec. becauseeeeee…. fungsi tersebut tidak direkomendasikan, mungkin dengan alasan keamanan. security problem.

Perhaps this posting can help you. thank you. wassalam.

 

Cari akhir tanggal bulan di PHP

assalamualaikum, kode berikut merupakan solusi untuk masalah yang sering ditemukan ketika membuat sebuah aplikasi yang didalamnya ada kebutuhan pelaporan atau report.

how to get end date of month ?

Biasanya dalam pelaporan ada yang namanya laporan bulanan, dan dalam laporan bulanan harus diketahui tanggal awal dan tanggal akhir dalam bulan tersebut. kalau tanggal awal sudah di pastikan angka satu, namun akhir bulan belum tentu tiga puluh (30), ada 28,29,39, dan 31.

don’t confuse brothers …

tidak perlu pusing untuk mengetahui akhir tanggal bulan dalam pemrograman php, berikut adalah script untuk mengetahui tanggal akhir bulan.

function lastOfMonth($year, $month) {
return date("Y-m-d", strtotime('-1 second', strtotime('+1 month',strtotime($month . '/01/' . $year. ' 00:00:00'))));
}

kode diatas sudah dalam bentuk function, jadi anda tinggal memanggilnya. contoh pemanggilan adalah seperti berikut.

lastOfMonth("2018", "12");

dengan demikian akan muncul tanggal akhir bulan. selamat mencoba semoga bermanfaat. wassalam.

have nice day…