Showing posts with label PHP Programming. Show all posts
Showing posts with label PHP Programming. Show all posts

Error send smtp gmail wrong version number

 1408F10B:SSL routines:ssl3_get_record:wrong version number

error ketika mengirim menggunakan tls 587

solusi : gunakan ssl 465

Incompatible sql_mode=only_full_group_by

Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column '....................' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by


add any_value(column) in sql select column

Laravel folder storage symbolic link

 cannot upload file images because symlink on hosting create a folder not symlink

Prevent upload file php/phtml ojs (ojs 3 tested)

/lib/pkp/classes/file/FileManager.inc.php


Find the section below and add the lines in red in the same spots or copy and replace the whole function:


function uploadFile($fileName, $destFileName) {

$destDir = dirname($destFileName);

if (!$this->fileExists($destDir, 'dir')) {

// Try to create the destination directory

$this->mkdirtree($destDir);

}

if (!isset($_FILES[$fileName])) return false;

if (move_uploaded_file($_FILES[$fileName]['tmp_name'], $destFileName))

return $this->setMode($destFileName, FILE_MODE_MASK);

return false;

}


ubah menjadi

function uploadFile($fileName, $destFileName) {

$destDir = dirname($destFileName);

if (!$this->fileExists($destDir, 'dir')) {

// Try to create the destination directory

$this->mkdirtree($destDir);

}

if (!isset($_FILES[$fileName])) return false;

$name = $_FILES[$fileName]['name'];

        $ext = end((explode(".",$name)));

        // block phtml files

        if ($ext == 'phtml' || $ext == 'php' ) return false;

        

if (move_uploaded_file($_FILES[$fileName]['tmp_name'], $destFileName))

return $this->setMode($destFileName, FILE_MODE_MASK);

return false;

}

Internal Server error Web Virtualmin







ubah .htaccess

Yang baru : pake virtualmin working 100%

 # Disable directory browsing

Options -Indexes


# ----------------------------------------------------------------------

# Rewrite engine

# ----------------------------------------------------------------------


# Turning on the rewrite engine is necessary for the following rules and features.

# FollowSymLinks must be enabled for this to work.

<IfModule mod_rewrite.c>

Options +SymlinksIfOwnerMatch

RewriteEngine On


# If you installed CodeIgniter in a subfolder, you will need to

# change the following line to match the subfolder you need.

# http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritebase

# RewriteBase /


# Redirect Trailing Slashes...

RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule ^(.*)/$ /$1 [L,R=301]


# Rewrite "www.example.com -> example.com"

RewriteCond %{HTTPS} !=on

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]

RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]


# Checks to see if the user is attempting to access a valid file,

    # such as an image or css document, if this isn't true it sends the

    # request to the front controller, index.php

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php/$1 [L]


# Ensure Authorization header is passed along

    RewriteCond %{HTTP:Authorization} .

    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

</IfModule>


<IfModule !mod_rewrite.c>

    # If we don't have mod_rewrite installed, all 404's

    # can be sent to index.php, and everything works as normal.

    ErrorDocument 404 index.php

</IfModule>


# Disable server signature start

    ServerSignature Off

# Disable server signature end


#RewriteEngine On 

#RewriteCond %{HTTPS} off 

#RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}


Server lama xampp :

# Disable directory browsing

Options All -Indexes


# ----------------------------------------------------------------------

# Rewrite engine

# ----------------------------------------------------------------------


# Turning on the rewrite engine is necessary for the following rules and features.

# FollowSymLinks must be enabled for this to work.

<IfModule mod_rewrite.c>

Options +FollowSymlinks

RewriteEngine On


# If you installed CodeIgniter in a subfolder, you will need to

# change the following line to match the subfolder you need.

# http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritebase

# RewriteBase /


# Redirect Trailing Slashes...

RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule ^(.*)/$ /$1 [L,R=301]


# Rewrite "www.example.com -> example.com"

RewriteCond %{HTTPS} !=on

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]

RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]


# Checks to see if the user is attempting to access a valid file,

    # such as an image or css document, if this isn't true it sends the

    # request to the front controller, index.php

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php/$1 [L]


# Ensure Authorization header is passed along

    RewriteCond %{HTTP:Authorization} .

    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

</IfModule>


<IfModule !mod_rewrite.c>

    # If we don't have mod_rewrite installed, all 404's

    # can be sent to index.php, and everything works as normal.

    ErrorDocument 404 index.php

</IfModule>


# Disable server signature start

    ServerSignature Off

# Disable server signature end


RewriteEngine On 

RewriteCond %{HTTPS} off 

#RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

No input file specified Codeigniter web hosting



RewriteEngine On

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

hanya perlu diubah di baris terakhir setelah index.php ditambah dengan tanda tanya '?'.

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]


Mengatasi "Invalid Column Count in CSV input On line 1" Pada Saat Import di Phpmyadmin

 caranya dengan mengganti "kolom dipisahkan oleh" dari koma (,) menjadi titik koma (;)

Deprecated on PHP 7.2 kcfinder upload image

Pada artikel kali ini saya akan sharing mengenai error yang terjadi pada kcfinder, kcfinder adalah plugin tambahan untuk ckeditor ketika kita akan mengupload file dan akan muncul dialog kcfindernya.

Mengapa saya menggunakan kcfinder, karena untuk bawaan dari ckeditor uploader imagenya, yang berbentuk window merupakan plugin tersendiri dan kita harus membeli plugin tersebut. Intinya plugin bawaan dari ckeditor itu tidak gratis.

Setelah saya mencoba menggunakan kcfinder ini saya menemukan masalah pada saat upload gambar, terjadi deprecated. Setelah saya coba browsing-browsing saya menemukan masalah ternyata di PHP 7.2 memang sudah tidak support karena memang kcfinder ini merupakan plugin yang lama, tidak dikembangkan lagi sepertinya.

Untuk mengatasi permasalahan tersebut adalah mengubah kode yang ada di baris 119 dan 120 menjadi seperti ini:

width = $image[0];

$height = $image[1];

atau seperti screenshot gambar di bawah ini :


change line 119 and 120 to line 121 and 122

Bootstrap stealing focus ckeditor

 the solution is add this on bootstrap modal :

data-focus="false"

also stealing focus on select2 plugin

Aplikasi Manajemen Sarana dan Prasarana (Aplikasi Sarpras)

Dalam sebuah Sekolah atau Institusi pendidikan kita terkadang kesusahan dalam pendataan sarana dan prasarana yang jumlahnya sangat banyak. Dan apabila kita tulis di sebuah buku itu juga rawan rusak, hilang ataupun mencari-cari kadang juga susah. Maka di sini saya membuat sebuah aplikasi sederhana untuk mendata sarana dan prasarana yang ada di sebuah institusi. 

Program ini saya develop dengan framework Codeigniter dan menggunakan bootstrap sebagai tampilannya.

Di sini kita bisa menambahkan gedung, ruang, dan sarana. Kemudian untuk detailnya misal sarana ada banyak, kita bisa memasukkannya di menu Sarana (Ruangan). 

Kemudian ada fasilitas rekap di menu sebelahnya, untuk kita mengetahui jumlah total dari sarana yang telah kita tambahkan.

Untuk source kode nya saya bisa di download di sini.

Sekian dulu postingan kali ini, terimakasih.

Berlatih Coding Website


Dalam hal berlatih koding website kita perlu belajar banyak hal, karena di dalam website ada 2 hal utama, kode yang di proses di client dan kode yang diproses di server. Nah, maka dari itu kita akan belajar dari hal yang paling sederhana terlebih dahulu untuk kode yang kemudian akan tampil di client. Kita dalam hal koding di sisi client ada : HTML, CSS, Javascript. Sedangkan di sisi server ada : PHP, SQL.

Berikut koding di sisi client berdasarkan pengalaman saya :

1. HTML
HTML adalah kepanjangan dari Hypertext Markup Language, adalah sekumpulan koding yang bisa dibaca di browser seperti : Chrome, Firefox, Microsoft Edge, Safari, dll. Jadi HTML ini adalah sekumpulan kode yang akan diterjemahkan sebuah browser menjadi sebuah tampilan di web.

2. CSS
CSS adalah kepanjangan dari Cascading Style Sheets, adalah berguna untuk mempercantik tampilah HTML kita, jadi CSS akan bergabung dengan HTML sebagai satu kesatuan yang nantinya akan tampil di web browser. CSS bisa dibilang pendukung utama untuk mempercantik tampilan website kita di dalam HTML.

3. Javascript
Javascript adalah sekumpulan script action (menurut saya) untuk menjadikan sebuah website lebih responsive, ketika kita mengklik misalnya, untuk ditampilkan suatu menu atau apa, tanpa me-redirect ke halaman lain. Jadi javascript akan menghidupkan sebuah website yang kelihatan statis menjadi lebih dinamis. Tetapi dalam penggunaannya berbeda dengan pemrograman HTML dan CSS, di dalam penggunaan javascript kita akan belajar pemrograman yang lebih serius, penggunaan logika sudah akan kita gunakan di sini. Konsekuensi error akan terlihat di sini, jadi akan memengaruhi seluruh halaman yang kita buat. Jadi kita harus semangat untuk belajar koding javascript ini.

Dan ini koding di sisi server :

1. PHP
PHP adalah bahasa pemrograman yang menurut saya agak lebih susah dari pemrograman yang di atas tadi, karena di dalam PHP sudah terbentuk logika-logika pemrograman yang sesungguhnya, berbeda dengan HTML yang sudah baku penggunaannya sehingga tidak perlu banyak berpikir untuk menggunakannya. Di dalam PHP kita akan belajar pemrograman yang lebih spesifik lebih mendalam dan banyak menggunakan logika pemrograman, sekaligus nanti PHP akan kita gunakan berhubungan dengan database Mysql. Jadi di sini kita rentan akan kesalahan jika kita masih belajar pertama kali. Harus berlatih dengan semangat dan ulet untuk menghadapi banyaknya error yang akan kita hadapi nanti.

2. SQL
SQLadalah sebuah bahasa yang digunakan untuk mengakses database relational yang nantinya ada Mysql sebagai perangkat lunak untuk pengolahan data. Di sini kita harusnya banyak menghafal kode-kode untuk membuat, mengedit, dan menghapus data. Selain itu ada manipulasi data juga, jadi kita harus banyak menghafal kode-kode sql itu.

Sekian dulu pengantar dalam berlatih koding website ini, kurang lebih terdiri dari 5 pemrograman di atas, kalian akan bisa membuat website yang baik.

Cara Upgrade Slims 7 ke Slims 8.3


Di sini saya masih awam dengan aplikasi SLIMS, baru berkenalan sekitar 6 bulan, itupun kenal dari aplikasi perpustakaan kampus yang sebenarnya masih offline, dan rencananya mau di online kan. SLIMS ini adalah software free (gratis) yang dibuat oleh sekelompok orang-orang yang faham akan perpustakaan (pustakawan). Yang dalam pengembangannya sebenarnya juga sudah lumayan mengingat ini adalah software free.

Dalam saya meng-online kan aplikasi SLIMS ini, saya menemukan banyak masalah. Terutama masalah folder, yang kalo di komputer windows biasanya tertulis C:\ ... sedangkan kalo di web itu berbeda lagi (saya juga masih belum begitu faham betul masalah ini).

Setelah dalam beberapa minggu di online-kan, muncul masalah lain. Barcode dalam bibliography tidak tampil saat mau di cetak. Tentunya ini sangat meresahkan hati, mengingat barcode juga sangat dibutuhkan dalam mengontrol setiap buku yang ada di perpustakaan.

Saya sempat membuka code-nya untuk memelajarinya, tetapi menurut saya masih sangat sulit untuk memahami code yang sangat banyak itu. Akhirnya saya cari di websitenya, dan saya mengikuti grup SLIMS di Facebook. Saya tanyakan kepada teman-teman di grup, dan lalu saya coba mengaplikasikan saran solusi dari teman, tetapi tidak bekerja dengan maksimal.

Lalu saya berpikir sejenak, aplikasi SLIMS ini kalo di website resminya sudah versi 8. Sedangkan yang kita punya ini adalah versi 7, kenapa tidak di coba upgrade saja ?

Kemudian coba saya upgrade lah SLIMS ini. Memang dalam masalah software harus teliti dan sabar dalam pengaplikasiannya. Saya upgrade pun saya menemukan masalah lagi, ketika hendak melakukan transaksi peminjaman buku, data tidak bisa masuk ke database. Sehingga saya coba tanya lagi pada grup SLIMS lagi. Ternyata dalam upgrade nya, tidak cuma program PHP nya saja yang di upgrade, tetapi database-nya juga perlu di upgrade.

Nah, ini adalah cara saya dalam melakukan upgrade aplikasi SLIMS versi 7 ke 8.3, setelah melakukan banyak percobaan dan akhirnya berhasil.

Caranya :

  1. Download dahulu aplikasi SLIMS terbaru (8.3) di website SLIMS
  2. Cadangkan dahulu database SLIMS, langsung masuk phpmyadmin saja kemudian export database slimsnya (sebagai backup saja apabila nantinya ada kesalahan)
  3. Ekstrak aplikasi PHP SLIMS yang baru di download tadi (poin 1) ke folder (terserah namanya) di folder public_html
  4. Import database di folder upgrade ke dalam database SLIMS yang digunakan, dari versi yang lama ke versi paling baru
  5. Buka di browser, aplikasi yang sudah di ekstrak di folder public_html (poin 3) tadi
  6. Lakukan sesuai petunjuk, pilih yang upgrade
  7. Selesai
Itulah cara saya dalam mengupgrade SLIMS versi 7 ke versi 8.
Semoga bermanfaat.
Thanks.

Aplikasi Catering Berbasis Web

Ini adalah hasil program saya dari aplikasi berbasis web, yang saya kembangkan sendiri menggunakan framework CI, dan css menggunakan bootstrap. Saya mendesainnya simple sederhana dan ini sudah dalam pengembangan yang kedua, jadi memiliki fitur yang lebih banyak dan lebih kompleks.

Mengirim email dengan PHPMailer

Menggunakan Yahoo Mail :

<?php
require 'PHPMailer/PHPMailerAutoload.php';

$mail = new PHPMailer;

$mail->isSMTP();                            // Set mailer to use SMTP
$mail->Host = 'smtp.mail.yahoo.com';             // Specify main and backup SMTP servers
$mail->SMTPAuth = true;                     // Enable SMTP authentication
$mail->Username = 'email_anda';          // SMTP username
$mail->Password = 'password_email_anda'; // SMTP password
$mail->SMTPSecure = 'ssl';                  // Enable TLS encryption, `ssl` also accepted
$mail->Port = 465;                          // TCP port to connect to

$mail->setFrom('info@codexworld.com', 'CodexWorld');
$mail->addReplyTo('info@codexworld.com', 'CodexWorld');
$mail->addAddress('alwia61@gmail.com');   // Add a recipient
$mail->addCC('cc@example.com');
$mail->addBCC('bcc@example.com');

$mail->isHTML(true);  // Set email format to HTML

$bodyContent = '<h1>How to Send Email using PHP in Localhost by CodexWorld</h1>';
$bodyContent .= '<p>This is the HTML email sent from localhost using PHP script by <b>CodexWorld</b></p>';

$mail->Subject = 'Email from Localhost by CodexWorld';
$mail->Body    = $bodyContent;

if(!$mail->send()) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent';
}
?>


Menggunakan GMail :

<?php
require 'PHPMailer/PHPMailerAutoload.php';

$mail = new PHPMailer;

$mail->isSMTP();                            // Set mailer to use SMTP
$mail->Host = 'smtp.gmail.com';             // Specify main and backup SMTP servers
$mail->SMTPAuth = true;                     // Enable SMTP authentication
$mail->Username = 'email_anda';          // SMTP username
$mail->Password = 'password_email_anda'; // SMTP password
$mail->SMTPSecure = 'tls';                  // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587;                          // TCP port to connect to

$mail->setFrom('info@codexworld.com', 'CodexWorld');
$mail->addReplyTo('info@codexworld.com', 'CodexWorld');
$mail->addAddress('alwia61@gmail.com');   // Add a recipient
$mail->addCC('cc@example.com');
$mail->addBCC('bcc@example.com');

$mail->isHTML(true);  // Set email format to HTML

$bodyContent = '<h1>How to Send Email using PHP in Localhost by CodexWorld</h1>';
$bodyContent .= '<p>This is the HTML email sent from localhost using PHP script by <b>CodexWorld</b></p>';

$mail->Subject = 'Email from Localhost by CodexWorld';
$mail->Body    = $bodyContent;

if(!$mail->send()) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent';
}

?>