18 October 2017

Cara Membuat Flash Alert dengan PHP Teknik SESSION

Seringkali kita kadang pusing jika melihat alert javascript setelah melakukan penyimpanan ke database maka kita akan memberikan informasi berupa pesan berhasil, kadangkala kita perlu membuat seubah informasi pesan tidak perlu menggunakan alert javascript.

Seperti yang saya contohkan berikut, kita ingin mensubmit sebuah form dan menyimpan data kedatabase,
Gambar 1

Gambar 2
 
kita lihat pada link, tidak ada link get yang harus memproses sebuah informasi, maka kita buatkan sebuah fungsi flash. Sehingga kita tidak perlu repot memberikan informasi get untuk menampilkan sebuah informasi pesan.

Kali ini saya akan meberikan sebuah sebuah fungsi untuk membuat flash alert dengan menggunakan fungsi session pada PHP.

yang pertama harus dibuat terlebih dahulu sebuah fungsi flash sebagai berikut simpan saja dengan nama file: fungsi_flash.php

<?php
/**
 * Function to create and display error and success messages
 * @access public
 * @param string session name
 * @param string message
 * @param string display class
 * @return string message
 */
function flash( $name = '', $message = '', $class = 'alert-success' )
{
    //We can only do something if the name isn't empty
    if( !empty( $name ) )
    {
        //No message, create it
        if( !empty( $message ) && empty( $_SESSION[$name] ) )
        {
            if( !empty( $_SESSION[$name] ) )
            {
                unset( $_SESSION[$name] );
            }
            if( !empty( $_SESSION[$name.'_class'] ) )
            {
                unset( $_SESSION[$name.'_class'] );
            }

            $_SESSION[$name] = $message;
            $_SESSION[$name.'_class'] = $class;
        }
        //Message exists, display it
        elseif( !empty( $_SESSION[$name] ) && empty( $message ) )
        {
            $class = !empty( $_SESSION[$name.'_class'] ) ? $_SESSION[$name.'_class'] : 'alert-success';
            echo '<div class="alert '.$class.'">'.$_SESSION[$name].'</div>';

            unset($_SESSION[$name]);
            unset($_SESSION[$name.'_class']);
        }
    }
}

?>

Jika fungsi di atas sudah di buat, tinggal kita include-kan saja pada file aksi/action sehingga dengan sederahan kita tinggal memanggilkan fungsi dan menyertakan pesan yang akan disampaikan jika proses telah dilakukan.

Contoh file action yang telah saya buat:

$nama_tamu = anti_inject($_POST['nama_tamu']);
        $jenis_kel = !empty($_POST['jenis_kel']) ? $_POST['jenis_kel'] : 'L';
        $pekerjaan = anti_inject($_POST['pekerjaan']);
        $instansi = anti_inject($_POST['instansi']);
        $telp = anti_inject($_POST['telp']);
        $alamat = anti_inject($_POST['alamat']);

        $tgltime = date('Y-m-d h:i:s');


        mysql_query("INSERT INTO tamu(nama_tamu,
                                    pekerjaan,
                                    instansi,
                                    jenis_kel,
                                    alamat,
                                    telp,
                                    tgl_masuk)
                            VALUES('$nama_tamu',
                                    '$pekerjaan',
                                    '$instansi',
                                    '$jenis_kel',
                                    '$alamat',
                                    '$telp',
                                    '$tgltime')") or die(mysql_error());
       //fungsi flash
        flash('example_message', '<p class="text-center">Berhasil mengisi buku tamu.</p>');
        header("location:message.php");


Maksud dari code saya di atas, jika query saya berhasil melakukan insert ke database maka saya tampilkan pesan berhasil mengisi buku tamu. Dan nama flash nya : example_message dengan pesan Berhasil mengisi buku tamu.

Tinggal kita directkan ke file message.php, di file message tinggal kita panggilkan saja flashnya supaya pesannya muncul. seperti pada gambar 2. Untuk contoh code nya seperti berikut:

 <!-- Fixed navbar -->
    <div class="container content">
        <?php
            session_start();
            include"inc/fungsi_flash.php";

            flash('example_message');
        ?>
        <p class="text-center text-primary">Akan kembali ke halaman utama dalam <span id="time"></span>...</p>
    </div>


Contoh di atas untuk style/css saya menggunakan bootstrap, Anda bisa merubah flashnya sesuai css yang anda punya. Atau style pesannya masing-masing. Semoga bermanfaat terimakasih.

Loading...

I am a fan of technology and i love coffee. I’m also interested in web programming and framework. below there are some accounts you can follow to contact me.

Comments

Thanks for comments.
EmoticonEmoticon