PHPMailer In CodeIgniter

Selamat siang kawan-kawan, masih lanjutan phpmailer nih. Karena saya berhubung ingin membuat sebuah startup namun dengan codeigniter base, maka dari itu saya sekalian nih kasih tutorial email dengan codeigniter menggunakan library phpmailer. Oiya, sebelum itu kalo ada temen-temen yang mau bekerja sama bangun ini startup, yuk bareng bareng membangunnya semoga mudah dan cepat selesainya. yaudah gak perlu panjang lebar deh, lets go!

Langkah Pertama
install phpmailer di libraries menggunakan composer.

Langkah Kedua
setting konfigurasi pada file config.php
$config[‘composer_autoload’] = TRUE;

Langkah Ketiga
buatlah file library PHPMailer_library.php
script sebagai berikut:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class PHPMailer_library {

public function __construct()
{
log_message('Debug', 'PHPMailer class is loaded.');
}

public function load()
{
require_once('src/PHPMailer.php');
require_once('src/SMTP.php');

$objMail = new PHPMailer\PHPMailer\PHPMailer();
return $objMail;
}
}

Langkah Keempat
Panggil library tersebut pada controller maupun di model.

$this->load->library("phpmailer_library");
$objMail = $this->phpmailer_library->load();

Done, berikut hasilnya:

Semoga tutorial ini bermanfaat bagi teman-teman, terimakasih.

Salam

Okto

reference:
https://stackoverflow.com/questions/44843305/how-to-integrate-phpmailer-with-codeigniter-3

Advertisements

Send E-Mail using PHPMailer

Selamat pagi kawan-kawan, kemaren saya gagal dapat project perlombaan SMK-se Jawa Barat nih, maklum masih newbie dalam bilang per IT-an, oiya itu masalah sih sepele, jadi ketika user register, maka sistem automatis kirim link untuk kode aktifasi, sehingga user yang register bisa dikatakan valid untuk untuk input data email.

oke langsung saja yuk gimana caranya send email itu menggunakan PHP, oiya saya menggunakan PHP 7.

Pertama
install Composer:

Kedua
install PHPmailer,
composer require phpmailer/phpmailer

jangan lupa install google api client, saya disini menggunakan gmail.
composer require google/apiclient 1.*

Ketiga
konfigurafi file php:
berikut script tersebut:

<?php
// Import PHPMailer classes into the global namespace
// These must be at the top of your script, not inside a function
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

//Load Composer's autoloader
require 'vendor/autoload.php';

$mail = new PHPMailer(true); // Passing `true` enables exceptions
try {
//Server settings
$mail->SMTPDebug = 2; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.gmail.com:465'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'oktoalhamdaputra@gmail.com'; // SMTP username
$mail->Password = ''; // SMTP password
$mail->SMTPSecure = 'ssl'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 465; // TCP port to connect to

//Recipients
$mail->setFrom('oktoalhamdaputra@gmail.com', 'Okto Alhamda Putra');
$mail->addAddress('magdalenadalinar@gmail.com', 'Magda Lena'); // Add a recipient
//$mail->addAddress('magdalenadalinar@gmail.com'); // Name is optional
//$mail->addReplyTo('info@example.com', 'Information');
// $mail->addCC('cc@example.com');
//$mail->addBCC('bcc@example.com');

//Attachments
// $mail->addAttachment('/var/tmp/file.tar.gz'); // Add attachments
// $mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name

//Content
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

$mail->send();
echo 'Message has been sent';
} catch (Exception $e) {
echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
}

Keempat
Setting access gmail Sign-in & Security

Done. berikut screenshot send email sukses dikirim:

Semoga kawan-kawan terbantu, tetap semangat dan tidak boleh menyerah,

Salam
Okto

references:
https://github.com/PHPMailer/PHPMailer
https://stackoverflow.com/questions/37524275/smtp-error-could-not-authenticate-message-could-not-be-sent-mailer-error-smt
https://www.lifewire.com/get-a-password-to-access-gmail-by-pop-imap-2-1171882

Install Apache, PHP7.1 and MariaDB10 On Ubuntu

Selamat siang kawan, kali ini kita akan mencoba bagaimana cara menginstall apache, php dan mariadb. Sebenernya ide ini karena saya sudah install ubuntu terbaru saja wkwkwk.. Oke, yuk ikuti tiap langkah-langkahnya secara ringkas.

Install Apache2 dan PHP7.1
Langkah-1
sudo apt install apache2

Langkah-2
sudo add-apt-repository ppa:ondrej/php

Langkah-3
sudo apt-get update

Langkah-4
sudo apt-get install -y php7.1

Langkah-5, cek versi php
php -v

selection_002

Langkah-6, cek module PHP
sudo apt-cache search php7-*

selection_003

Langkah-7, install modules
sudo apt-get install php7.1-curl…

selection_005

Done,  ..

Install MariaDB

Langkah-1
sudo apt-get install mariadb-server

Langkah-2, set root password, sebagai user root
sudo su

Langkah-3
mysql_secure_installation, maka akan tampil pertanyaan.

Pertanyaan pertama current password, tidak perlu dijawab enter saja

selection_007

Pertanyaan ke-2 set root password, jawab y

selection_008

Pertanyaan ke-3, remove anonymous user, jawab y

Pertanyaan ke-4, disallow root login remotely, jawab y

Selanjutnya, remove test database dan relod previlege table, jawab y.

Done, semoga membantu…sekian.

Reference:
http://tecadmin.net/install-php-7-on-ubuntu/#
https://www.howtoforge.com/tutorial/install-apache-with-php-and-mysql-on-ubuntu-16-04-lamp/
http://idroot.net/linux/install-mariadb-ubuntu-16-04/

PHP Connect To SQL SERVER 2012 Express

Kali ini kita mencoba bagaimana php dapat koneksi ke SQL Server yang lebih tepatnya PHP 5.6 dengan SQL Server 2012 Express. Sebenarnya ide ini berasal dari teman kantor yang ingin mencobanya namun masih gagal. Nah, berangkat dari situ sayapun ngulik2 bagaimana cara koneksinya. Berikut langkah2 cara koneksinya:

Langkah-1
Download  SQLSRV disini.

microsoft-driver

Langkah-2
Setelah didownload extract ke directory php/ext

Langkah-3
Tulis script sebagai berikut pada file php.ini

extension=php_sqlsrv_56_ts.dll

Langkah-4
Done.

Untuk mencobanya, silahkan buat sebuah file php bernama connect.php

<?php
$serverName = "OKTO\sqlexpress"; //serverName\instanceName
 
$connectionInfo = array( "Database"=>"testDB");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
 echo "Connection established.<br />";
}else{
 echo "Connection could not be established.<br />";
 die( print_r( sqlsrv_errors(), true));
}
?>

Selamat mencoba 🙂

Remove index.php In CodeIgniter

Secara default, index.php include di dalam URL.

1

Url tersebut tampak tidak enak dilihat, oleh sebab itu yuk kita ikuti langkah berikut agar index.php tidak tampil lagi.

Langkah -1

buka file httpd.conf

cari script berikut:

AllowOverride none

Ubah menjadi

AllowOverride All

Langkah -2

cari script berikut:

#LoadModule rewrite_module modules/mod_rewrite.so

hilangkan tanda pagar tersebut;

Langkah -3

Buatlah file .htaccess sejajar dengan index.php , script sebagai berikut:

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^(.*)$ index.php/$1 [L]
 </IfModule>

2

Done.
Result:
3

Fusionchart

Sudah diduga sebelumnya, javascript chart yang dahulu gratis kini sudah tidak gratis. Sebagai contoh FusionChart http://www.fusioncharts.com/

fusionchart

tapi jangan kecewa, saya punya backupnya loh he.. he.. he..

Gimana caranya yak buat grafik pake fusionchart? Mau tau? yuk nyimak..

1. Buatlah file index.php dengan script seperti berikut:

  http://swfobject.js

  var flashvars = {};
  flashvars.xml_file = "flashmo_264_photo_list_2.xml";
  var params = {};
  params.wmode = "transparent";
  params.allowfullscreen = true;
  var attributes = {};
  attributes.id = "slow";
  swfobject.embedSWF("flashmo_264_bar_gallery.swf", "flashmo_template", "900", "150", "9.0.0", false, flashvars, params, attributes);

 http://jquery-1.5.1.min.js
 http://js/jquery.fusioncharts.js
 http://js/FusionCharts.js

<?php
 echo"<span id='myChart2Container'>Loading FusionCharts!</span>

 $('#myChart2Container').insertFusionCharts({
  swfPath: 'Charts/',
  id: 'chart2',
  width: '900',
  height: '300', 
  type: 'Column3D',
  data: 'summary.php',
  dataFormat: 'URIData'
  });
  "; 
 echo"<hr>"; 
 ?>
 

2. File index.php akan memanggil data dari file summary.php, berikut script summary.php

<?php
 include "config/fungsi_indotgl.php";
 include"config/koneksi.php"; 
 include"config/library.php";

$result = mysql_query(" select bulan, 
  COUNT(tgl_cash) as jumlah_jual 
  from tbl_motor 
  where tgl_cash like '%2015%' and tgl_cash<>'0000-00-00' group by bulan "); 
 echo "<graph caption='Penjualan CV. H.M. Asep Motor Tahun $thn_sekarang' xAxisName='Bulan' yAxisName='Penjualan' numberPrefix=''>";
 $colors = array( 'AFD8F8','F6BD0F','8BBA00','FF8E46','008E8E','D64646','8E468E','588526',
  'B3AA00','008ED6','9D080D','A186BE','CC6600','FDC689','ABA000','F26D7D',
  'FFF200','0054A6','F7941C','CC3300','006600','663300','6DCFF6'); 
 $no=0;

while ($data = mysql_fetch_array($result)) {
  $bulan=konversi_bulan($data['bulan']);
  echo "<set name='$bulan' value='$data[jumlah_jual]' color='$colors[$no]' />";
  $no++;
 }

echo "</graph>";
 ?>
 

3. Result:
diagramfusionchart

4. Done 😀

Sekian Terimakasih,
Regards,

Okto Alhamda Putra

Creating a Restful Web Service in PHP (Method GET)

Kali ini kita akan membuat sebuah webservis dengan bahasa pemograman PHP tanpa Framework, biasanya orang bilang PHP Native. Perlu diketahui perbedaan website dan webservis adalah jika website diakses oleh user/orang via web browser dan respon berupa HTML, maka webservice yaitu dapat diakses oleh program, respon berupa XML atau JSON, dan digunakan untuk berkomunikasi antar system dan platform yang berbeda.

Nah… Webservis yang akan dibuat kali ini yaitu webservis yang dasar-dasarnya saja dengan metode GET. Bagaimana caranya?.. yuk ikuti langkah berikut:

1. Buatlah table contacts sebagai berikut:

CREATE TABLE IF NOT EXISTS `contacts` (
  `id` int(11) NOT NULL,
  `name` varchar(50) NOT NULL,
  `telpnumber_person` varchar(15) NOT NULL,
  `email` varchar(50) NOT NULL,
  `address_person` varchar(50) NOT NULL,
  `motor` int(11) NOT NULL,
  `mobil` int(11) NOT NULL,
  `rumah` int(11) NOT NULL,
  `fact` varchar(200) NOT NULL,
  `message` varchar(50) NOT NULL,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL
  ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=latin1;
INSERT INTO `contacts` (`id`, `name`, `telpnumber_person`, `email`, `address_person`, `motor`, `mobil`, `rumah`, `fact`, `message`, `created_at`, `updated_at`) VALUES
  (6, 'Gon Freecss', '08777', 'gonfreecss@gmail.com', 'Whale Island', 3, 2, 1, '', '', '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
  (7, 'Killua Zoldyck', '813', 'killuazoldyck@gmail.com', 'Gunung Kukuru', 4, 4, 1, '', '', '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
  (8, 'Leorio Paradinight', '812', 'leorioparadinight@gmail.com', 'Yasmin-Bogor', 1, 2, 2, '', '', '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
  (9, 'Kill Tutut Sawah', '8777', 'killtututsawah@gmail.com', 'Bubulak', 2, 3, 3, '', '', '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
  (10, 'Kentut Ayam', '08777', 'kentutayam@gmail.com', 'Bogor', 3, 3, 4, '', '', '0000-00-00 00:00:00', '0000-00-00 00:00:00');

2. Buatlah file koneksi.php

Script sebagai berikut:

<?php
 $mysqli = new mysqli("localhost", "root", "", "");
  if ($mysqli->connect_errno)
   {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
   }
?>

3. Buatlah file index.php

Script sebagai berikut:

<?php

//koneksi ke database
  include "koneksi.php";

//proses client request(VIA URL)
  header("Content-Type:application/json");

if(!empty($_GET['name'])){
  //Ambil data name dari URL
  $name=$_GET['name'];

//cek ke database
  $res = $mysqli->query("SELECT * FROM contacts WHERE name = '".$name."'");

//cek jika data di temukan di database
  if($res->num_rows>0){

$row= $res->fetch_array();

//tampilkan dalam bentuk array
  $data=array('name contact'=>$row['name'],
  'telp contact'=>$row['telpnumber_person'],
  'email contact'=>$row['email']
  );

//panggil fungsi respon
  deliver_response(200,"Contact Found", $data);
  }

else {
  //panggil fungsi respon
  deliver_response(200,"Contact Not Found", NULL);
  }

}

else{
  //panggil fungsi respon
  deliver_response(400,"Invalid Request", NULL);
  }

//fungsi respon
  function deliver_response($status, $status_message, $data){
  header("HTTP/1.1 $status $status_message");

//array
  $response['status']=$status;
  $response['status_message']=$status_message;
  $response['data']=$data;

$json_response=json_encode($response);
  echo $json_response;
  }

?>

4. Hit URL pada RESTClient
restclient

5. Result JSON

{
  "status": 200,
  "status_message": "Contact Found",
  "data":
  {
   "name contact": "Gon Freecss",
   "telp contact": "08777",
   "email contact": "gonfreecss@gmail.com"
   }
}

6. Done 😀

Terimakasih
Sumber:https://www.youtube.com/watch?v=5eWC-lf1FxM
Regards,

Okto Alhamda Putra