Aplikasi Quick Count Pilkada V 1.1

Aplikasi Quick Pilkada 2015 Berbasis Web Merupakan Aplikasi versi pertamanya, sedangkan Aplikasi Quick Count Pilkada V 1.1 merupakan perbaikan atau penambahan fitur dari versi pertamanya.

Sebenarnya Saya hanya menambahkan sedikit fitur, yaitu penambahan halaman login, dan dari halaman login tersebut akan dibuat sebuah SESSION yang nantinya session terebut akan disimpan pada halaman sesi.php selanjutnya halaman tersebut di INCLUDE pada halaman masukan_data_suara.php sehingga ketika seseorang ingin memasukan data/mengakses pada halaman tersebut (masukan_data_suara.php), maka dia harus login terlebih dahulu.

Ada beberapa file yang Saya tambahkan pada versi ini yaitu :

1. login.php
Halaman ini merupakan halaman/form login user dan insyallah anti SQL injection

<html>
<head>
 <title>LOGIN | Aplikasi Quick Count</title>
</head>
<body>
 
 <form action="login_proses.php" method="post">
 <center><h2>Login Form</h2></center>
 <table align="center">
  <tr>
   <td>Username</td>
   <td>:</td>
   <td><input type="text" name="username" placeholder="Username" required /></td>
  </tr>
  <tr>
   <td>Password</td>
   <td>:</td>
   <td><input type="password" name="password" placeholder="Password" required /></td>
  </tr>
  <tr>
   <td>&nbsp;</td>
   <td>&nbsp;</td>
   <td><input type="submit" name="login" value="Login" /></td>
  </tr>
 </table>
 </form>
 
</body>
</html> 


2. login_proses.php
merupakan file yang bertugas melakukan validasi apakah username dan password yang digunakan pengguna cocok dengan data – data yang terdapat dalam database



<?php
include('koneksi.php');
$cek=$_POST['username'];
if(isset($_POST['login'])){
 $user = mysql_real_escape_string(htmlentities($_POST['username']));
 $pass = mysql_real_escape_string(htmlentities(md5($_POST['password'])));
  
 $sql = mysql_query("SELECT * FROM user WHERE username='$user' AND password='$pass'") or die(mysql_error());
 if(mysql_num_rows($sql) == 0){
  
 
  echo '<script language="javascript">alert("Username '.$cek.' tidak ditemukan!"); document.location="index.php";</script>';
 }else{
  $row = mysql_fetch_assoc($sql);
  if($row['level'] == 1){
   //jika login dengan level 1 buat session admin
   $_SESSION['admin']=$user;
   echo '<script language="javascript">alert("Anda berhasil Login Admin!"); document.location="index.php?page=1";</script>';
  }
 }
}

?>

3. sesi.php

Sebuah session bisa diakases oleh halaman lain dengan menambahkan perintah session_start(); dan halaman ini mengakses sesi yang terdapat pada halaman login_proses.php. Nantinya halaman ini ditambahkan pada file “masukan_data_suara.php”

<?php



session_start();
 //mengecek apakah sesi admin atau bukan
if(!isset($_SESSION['admin'])){
 echo '<script language="javascript">alert("Untuk memasukan data Anda harus login sebagai Admin!"); document.location="index.php?page=login";</script>';
}

?>


4. logout.php

File ini tentunya merupakan file yang bertugas untuk menghapus session dengan perintah session_destroy();



<?php
session_start();
session_destroy();
 
echo '<script language="javascript">alert("Anda berhasil Logout!"); document.location="index.php?page=login";</script>';
?>

Halaman login yang Saya buat ini mendukung multi user berdasarkan levelnya, maksudnya Anda bisa memasukan banyak administrator dengan username dan password yang berbeda – beda, namun Anda harus mengesetnya ke level 1.

Bila Anda sudah mendownload versi pertamanya, maka Anda tinggal menambahkan script/4 file diatas, dan  include halaman sesi.php di halaman masukan_data_suara.php. Selanjutnya buat database kemudian buat tabel dengan nama user. 

Bila Anda sudah membuat database, Anda bisa menjalankan Query dibawah ini : 
 

-- phpMyAdmin SQL Dump
-- version 4.5.2
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Jun 21, 2016 at 02:25 
-- Server version: 10.1.9-MariaDB
-- PHP Version: 5.5.30

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `php`
--

-- --------------------------------------------------------

--
-- Table structure for table `user`
--

CREATE TABLE `user` (
  `id` int(11) NOT NULL,
  `username` varchar(32) NOT NULL,
  `password` varchar(32) NOT NULL,
  `nama` varchar(32) NOT NULL,
  `email` varchar(32) NOT NULL,
  `level` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Dumping data for table `user`
--

INSERT INTO `user` (`id`, `username`, `password`, `nama`, `email`, `level`) VALUES
(1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 'Administrator', 'admin@admin.com', 1),
(2, 'admin2', '21232f297a57a5a743894a0e4a801fc3', 'Administrator', 'admingelo@gelo.com', 1);

--
-- Indexes for dumped tables
--

--
-- Indexes for table `user`
--
ALTER TABLE `user`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `user`
--
ALTER TABLE `user`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; 


Halaman ini sebenarnya hanya membatasi akses ke halaman masukan_data_suara.php, sehingga bila ada user yang tidak punya akses ke halaman tersebut akan diberi pesan peringatan seperti gambar dibawah ini

Bila User yang tidak punya hak akses mencoba login

Selanjutnya diakan dilemparkan ke halaman page=login/login.php. 

Halaman login Aplikasi Quick Count


Bila username dan password yang digunakan tepat, maka dia akan langsung diarahkan kehalaman masukan_data_suara.php seperti gambar dibawah ini

Halaman untuk memasukan data suara

Aplikasi ini memang masih memerlukan banyak perbaikan, terutama dari segi tampilan yang masih jadul dan alakadarnya, ini memang disebabkan karena keterbatasan ilmu pengetahuan yang Saya miliki sehingga Saya harus lebih banyak belajar lagi. Mungkin versi selanjutnya bisa lebih baik lagi


Download versi pertamanya pada halaman : Aplikasi Quick Count Pilkada 2015 Berbasis Web

10 Responses to "Aplikasi Quick Count Pilkada V 1.1"

  1. wuiiih...sangat kerensukeren pisan nih aplikasi Pilkada kalau tak sedot dan di tempel di blog butut saya, pasti bakalan nambah bejibun para pengunjungnya....kalau udah rame blognya, dagang ubi deh sayahnya

    ReplyDelete
  2. Menarik untuk dicoba nie aplikasi Quick Countnya kang, soalnya udah mulai rame kayaknya nie yang bahas seputar pilkada

    ReplyDelete
  3. aplikasi quick count pilkada v 11, kang admin punya bakat nih, apalagi sebentar lagi ada pilkada jakarta, kayaknya kang admin harus ikud serta meramaikan ya

    ReplyDelete
  4. Bakal laris nih aplikasi quick count pilkadanya, kan sebentar lagi Jakarta melakukan Pilkada.

    ReplyDelete
  5. Duh pengen coba kang, sepertinya bagus juga aplikasinya.

    ReplyDelete
  6. Pasti banyak yang membutuhkan nih Aplikasi Quick Count Pilkada pas pilkada dki nanti :}

    ReplyDelete
  7. Pilkada sebentar lagi. Aplikasih ini layak untuk dicoba. Hebat juga ya ?

    ReplyDelete
  8. Damn. Kita punya programmer blogger disini... Salute.

    ReplyDelete

Silahkan untuk meninggalkan komentar, santai saja dan mulailah berkomentar...