Senin, 07 April 2014

Koneksi PHP ke SQL SERVER Menggunakan XAMPP 1.7.7

Kenapa ya ketika install XAMPP 1.7.7 tidak bisa melakukan koneksi ke SQL SERVER ? Padahal pada versi XAMPP sebelumnya gak ada masalah tuh. Pertanyaan klasik tapi agak membingungka, khususnya bagi para pemula. Kejadian ini juga saya alami dan sempat bingung, padahal waktu itu sedang  ada projek. Karena deadline yang yang begitu mepet bangat, akhirnya terpaksa deh pake versi sebelumnya, yaitu saya menggunakan XAMPP 1.7.1.
Setelah projek selesai, saya pun ingin mencari tahu kenapa sih XAMPP 1.7.7 tidak bisa konek ke SQL SERVER. Setelah berlama-lama googling dan mengikuti forum, akhirnya terjawab juga masalah itu :). Ternyata hal ini dikarenakan extention php_mssql.dll dan php_pdo_mssql.dll hilang dari folder ext di XAMPP 1.7.7.
Langkah 1: Copy file ntwdlib.dll ke folder C:\xampp\apache\bin dan C:\Windows/System32. 
Langkah 2: Download file php_mssql.dll dan php_pdo_mssql.dll, berikut saya berikan link-nya: http://dl.dropbox.com/u/21634/Software/php_mssql.zip Ini saya dapatkan dari forum di Apache. Setelah selesai download Extract file archive datanya dan copy file php_mssql.ts.dll dan php_pdo_mssql.ts.dll ke folder C:\xampp\php\ext kemudian rename dengan nama php_mssql.dll  dan php_pdo_mssql.dll (hilangkan kata ‘ts’).
Langkah 3: Lakukan modifikasi file php.ini pada Dynamic Extensions hilangkan tanda ‘;’ di baris awal extention yang anda rubah tadi (dalam hal ini pada file : php_mssql.dll dan php_pdo_mssql.dll). Kemudian save dan restart Apache.
Langkah 4: Buka phpinfo() di localhost XAMPP untuk melihat apakah sudah aktif atau belum extension mssql nya. Jika sudah berarti anda telah berhasil dan XAMPP siap untuk koneksi ke SQL SERVER.
Silahkan mencoba, semoga bermanfaat :)

http://www.4shared.com/get/j5lyZ_ML/ntwdblibdll.html <-- Download ntwdblib.dll

sumber : http://rowcket.wordpress.com/2012/06/15/koneksi-php-ke-sql-server-menggunakan-xampp-1-7-7/
 

Kamis, 28 November 2013

jquery $.ajax php side POST serialized form

$.ajax({
        type: 'POST',
        url: 'entry.php',
        cache: false,
        data: $(".contact_form").serializeArray(),
        success: function (data) {
            if (data == "error") {
                $('.success_box').hide();
                $('.error_box').show();
            }
            else {
                $('#sname').val('');
                $('#email').val('');
                $('#title').val('');
                $('#message').val('');
                $('#photo1').val('');
                $('#photo2').val('');
                $('.error_box').hide();
                $('.success_box').show();
            }
        }
    });

CSS Input Type Selectors - Possible to have an “or” or “not” syntax?

If i have a HTML form with the following inputs:
 type="text" /&gt;
 type="password" /&gt;
 type="checkbox" /&gt;
I want to apply a style to all input's that are either type="text" or type="password".
Alternatively i would settle for all input's where type != "checkbox".
Seems i like to have to do this:
input[type='text'], input[type='password']
{
   // my css
}
Isn't there a way to do:
input[type='text',type='password']
{
   // my css
}
or
input[type!='checkbox']
{
   // my css
}
Had a look around, and it doesn't seem like there is a way to do this with a single CSS selector.
Not a big deal of course, but im just a curious cat.
Any ideas?

Rabu, 27 November 2013

Deleting a File using php/codeigniter


you can use the "file helper" in codeigniter.
http://codeigniter.com/user_guide/helpers/file_helper.html
and like this :
$this->load->helper("file");
delete_files($path);
Late Edit: delete_filesmethod uses a path to wipe out all of its contents via unlink() and same you can do within CI. Like this:
unlink($path); 
a valid path.

example :
$path_file = './riskv2-assets/captcha/';
delete_files($path_file);

Jumat, 22 November 2013

Tutorial CodeIgniter : Penerapan Rekursif Untuk Membuat Menu Bertingkat di CodeIgniter

1. Kita siapkan dulu sebuah tabel menu dengan struktur parent child, artinya ada sebuah field yang dijadikan sebagai acuan parent-nya. Desain tabelnya hampir sama dengan postingan saya beberapa waktu lalu yang juga membahas tentang tree menu di CodeIgniter.

CREATE TABLE IF NOT EXISTS `tbl_menu` (
  `id_menu` int(11) NOT NULL AUTO_INCREMENT,
  `id_parent` varchar(11) DEFAULT NULL,
  `menu` varchar(50) NOT NULL,
  PRIMARY KEY (`id_menu`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=16 ;

INSERT INTO `tbl_menu` (`id_menu`, `id_parent`, `menu`) VALUES
(1, '0', 'Beranda'),
(2, '0', 'Profil'),
(3, '0', 'Galeri'),
(4, '0', 'Hubungi Kami'),
(5, '2', 'Visi'),
(6, '2', 'Misi'),
(7, '2', 'Struktur Organisasi'),
(8, '2', 'Sejarah Singkat'),
(9, '3', 'Kemahasiswaan'),
(10, '3', 'Lembaga'),
(11, '3', 'Kegiatan Tahunan'),
(12, '10', 'Lala Lele'),
(13, '10', 'Lala Karet'),
(14, '10', 'Lala Gabus'),
(15, '10', 'Lala Gosong');

<?php
class model_Menu extends CI_Model
{
    function __construct()
    {
        parent::__construct();
    }
   
    function getMenu($parent,$hasil){

        $w = $this->db->query("SELECT * from tbl_menu where id_parent='".$parent."'");
        if(($w->num_rows())>0)
        {
            $hasil .= "<ul class='easyui-tree' animate='true'>";
        }
        foreach($w->result() as $h)
        {
            $hasil .= "<li><span>".$h->menu."</span>";
            $hasil = $this->getMenu($h->id_menu,$hasil);
            $hasil .= "</li>";
        }
        if(($w->num_rows)>0)
        {
            $hasil .= "</ul>";
        }
        return $hasil;
    }
   
}

3. _Controller nya


<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Dashboard extends CI_Controller {
    public function index()
    {
       $this->load->model('model_Menu');
      
       $data['menu'] = $this->model_Menu->getMenu(0,"");
       $this->template->load('frontend','view_dashboard',$data);
    }

Minggu, 17 November 2013

[CodeIgniter] Upload dan Resize Gambar Secara Otomatis

Saya sering mondar-mandir membaca pertanyaan-pertanyaan member di group CodeIgniter Indonesia dan tak jarang ada yang bertanya atau mempertanyakan bagaimana cara mengupload gambar dan meresize gamber tersebut secara otomatis. Nah, maka dari itu kali ini saya akan memberikan sedikit bahkan secuil contoh penggunaannya.

Buat project baru dengan codeigniter, kemudian buka controller welcome.php, kemudian isi seperti berikut.


<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 
class Welcome extends CI_Controller {
 
    public function __construct()
    {
        parent::__construct();
        $this->load->helper(array('form', 'url', 'html'));
        $this->load->library(array('upload','image_lib'));
    }
    
    public function index()
    {
        $data = array();
        $data['error'] = '';
        $data['output'] = '';
         
        if(isset($_FILES['userfile']))
        {
            $this->upload->initialize(array(
                'upload_path' => './assets/',
                'allowed_types' => 'png|jpg|gif',
                'max_size' => '5000',
                'max_width' => '3000',
                'max_height' => '3000'
            ));
         
            if($this->upload->do_upload())
            {
                $data_upload = $this->upload->data();
                $this->image_lib->initialize(array(
                    'image_library' => 'gd2',
                    'source_image' => './assets/'. $data_upload['file_name'],
                    'maintain_ratio' => false,
                    'create_thumb' => true,
                    'quality' => '20%',
                    'width' => 240,
                    'height' => 172
                ));
                 
                if($this->image_lib->resize())
                {
                    $output = '<h4>Thumb - hasil Resize</h4>';
                    $output .= img('./assets/'.$data_upload['raw_name'].'_thumb'.$data_upload['file_ext']);
                    $output .= '<h4 style="margin-top: 30px">Gambar Original</h4>';
                    $output .= img('./assets/'.$data_upload['file_name']);
                     
                    $data['output'] = $output;
                }
                else
                {
                    $data['error'] = $this->image_lib->display_errors();
                }
                 
            }
            else
            {
                $data['error'] = $this->upload->display_errors();
            }
        }
         
        $this->load->view('welcome_message', $data);
    }
}
 
/* End of file welcome.php */
/* Location: ./application/controllers/welcome.php */
 
Kemudian buka folder views/welcome_message.php dan isi seperti berikut.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Welcome to CodeIgniter</title>
 
    <style type="text/css">
 
    ::selection{ background-color: #E13300; color: white; }
    ::moz-selection{ background-color: #E13300; color: white; }
    ::webkit-selection{ background-color: #E13300; color: white; }
 
    body {
        background-color: #fff;
        margin: 40px;
        font: 13px/20px normal Helvetica, Arial, sans-serif;
        color: #4F5155;
    }
 
    a {
        color: #003399;
        background-color: transparent;
        font-weight: normal;
    }
 
    h1 {
        color: #444;
        background-color: transparent;
        border-bottom: 1px solid #D0D0D0;
        font-size: 19px;
        font-weight: normal;
        margin: 0 0 14px 0;
        padding: 14px 15px 10px 15px;
    }
 
    code {
        font-family: Consolas, Monaco, Courier New, Courier, monospace;
        font-size: 12px;
        background-color: #f9f9f9;
        border: 1px solid #D0D0D0;
        color: #002166;
        display: block;
        margin: 14px 0 14px 0;
        padding: 12px 10px 12px 10px;
    }
 
    #body{
        margin: 0 15px 0 15px;
    }
     
    p.footer{
        text-align: right;
        font-size: 11px;
        border-top: 1px solid #D0D0D0;
        line-height: 32px;
        padding: 0 10px 0 10px;
        margin: 20px 0 0 0;
    }
     
    #container{
        margin: 10px;
        border: 1px solid #D0D0D0;
        -webkit-box-shadow: 0 0 8px #D0D0D0;
    }
    </style>
</head>
<body>
 
<div id="container">
    <h1>Upload dan Resize Gambar Otomatis <span style="float: right">Dida Nurwanda</span></h1>
 
    <div id="body">
        <form method="post" enctype="multipart/form-data">       
             
            <?php echo $error; ?>
             
            <div>
                <label for="userfile">Pilih gambar yang akan di upload : </label>
                <br />
                <input type="file" name="userfile" />
            </div>
             
            <div style="margin-top:20px">
                <input type="submit" value="Upload" />
            </div>
         
        </form>
         
        <div>
            <?php echo $output; ?>
        </div>
    </div>
 
    <p class="footer">Page rendered in <strong>{elapsed_time}</strong> seconds</p>
</div>
 
</body>
</html>
 


Selesai deh, kodenya berantakan tapi mudah di pahami. Kalo bingung mau nambah-nambahin silahkan bertanya :D
 
Berikut penampakannya.
Download
Password : didanurwanda.blogspot.com 
 
 

Rabu, 10 Juli 2013

Tutorial CodeIgniter : Penerapan Rekursif Untuk Membuat Menu Bertingkat di CodeIgniter

fungsi rekursif untuk menampilkan tree menu bertingkat bisa cepat selesai. Nah, pada postingan kali ini saya akan mencoba untuk menerapkannya di CodeIgniter. Cekidot gan…
Kita siapkan dulu sebuah tabel menu dengan struktur parent child, artinya ada sebuah field yang dijadikan sebagai acuan parent-nya. Desain tabelnya hampir sama dengan postingan saya beberapa waktu lalu yang juga membahas tentang tree menu di CodeIgniter.
1CREATE TABLE IF NOT EXISTS `tbl_menu` (
2  `id_menu` int(11) NOT NULL AUTO_INCREMENT,
3  `id_parent` varchar(11) DEFAULT NULL,
4  `menu` varchar(50) NOT NULL,
5  PRIMARY KEY (`id_menu`)
6) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=16 ;
7
8INSERT INTO `tbl_menu` (`id_menu`, `id_parent`, `menu`) VALUES
9(1, '0', 'Beranda'),
10(2, '0', 'Profil'),
11(3, '0', 'Galeri'),
12(4, '0', 'Hubungi Kami'),
13(5, '2', 'Visi'),
14(6, '2', 'Misi'),
15(7, '2', 'Struktur Organisasi'),
16(8, '2', 'Sejarah Singkat'),
17(9, '3', 'Kemahasiswaan'),
18(10, '3', 'Lembaga'),
19(11, '3', 'Kegiatan Tahunan'),
20(12, '10', 'Lala Lele'),
21(13, '10', 'Lala Karet'),
22(14, '10', 'Lala Gabus'),
23(15, '10', 'Lala Gosong');
2. Biar lebih cepat, saya disini tidak menggunakan model :) . Query-nya langsung saya tulis di Controller saja. Buat sebuah controller dengan nama rekursif_menu.php dan ketikkan kode di bawah ini :
1class Rekursif_Menu extends CI_Controller {
2
3    function __construct()
4    {
5        parent::__construct();
6        $this->load->database();
7    }
8
9    function index()
10    {
11        echo $this->menu(0,$h="");
12    }
13
14    private function menu($parent=0,$hasil){
15
16        $w = $this->db->query("SELECT * from tbl_menu where id_parent='".$parent."'");
17        if(($w->num_rows())>0)
18        {
19            $hasil .= "<ul>";
20        }
21        foreach($w->result() as $h)
22        {
23
24            $hasil .= "<li>".$h->menu;
25            $hasil = $this->menu($h->id_menu,$hasil);
26            $hasil .= "</li>";
27        }
28        if(($w->num_rows)>0)
29        {
30            $hasil .= "</ul>";
31        }
32        return $hasil;
33    }
34}
3. Pada kode di atas, function menu dibuat private agar tidak bisa diakses dari url. Function menu dipanggil lagi saat perulangan untuk mengambil data dari database. Dengan begitu, kode rekursif di atas akan menghasilkan sebuah tree menu bertingkat tanpa batas.
Gampangkan cara menerapkan rekursif untuk membuat tree menu bertingkat di CodeIgniter…??? Kalau masih ada yang binggung dengan bagaimana alurnya sehingga bisa dihasilkan sebuah menu yang berulang-ulang dengan aturan yang sama, silahkan digambarkan terlebih dahulu, kemudian dipahami lagi :D . Saya biasanya menerapkan problem solving seperti itu, walaupun waktunya kurang efisien. OK deh, sekian dulu postingan saya kali ini. Semoga bermanfaat untuk kita semua.
Happy Blogging and Keep Coding

sumber : http://gedelumbung.com/tutorial-codeigniter-penerapan-rekursif-untuk-membuat-menu-bertingkat-di-codeigniter/