Selasa, 27 Maret 2018

PHP Fundamental Dan Tugas Sebelum UTS

Hallo Kali ini saya akan share bagaimana membuat form login yang tersambung dengan database menngukana koneksi dari mysqli dan blokir user 3x kesalahan dengan flowchart

oke langsung saja...


<?php include 'conf/kelas.php'?>
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="assets/css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="assets/font-awesome-4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" type="text/css" href="assets/css/style.css">
<script src="assets/sweetalert2/dist/sweetalert2.js"></script>
<link rel="stylesheet" href="assets/sweetalert2/dist/sweetalert2.css">
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
<link rel="icon" href="assets/images/icons/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

<body> 
<div class="container">
  <div class="row" id="pwd-container">
    <div class="col-md-4"></div>
    <div class="col-md-4">
      <section class="login-form">
          <form method="post" id="loginbox" role="login">
            <div class="text-center mb-4">
            <h3 class="text-center">LOGIN</h3>
            <p>Anda Harus Login Dahulu </p>
            </div>
              <div class="form-group">
              <input type="text" name="usr" placeholder="Username" id="usr" value required class="form-control"/>
              </div>
              <div class="form-group">
                  <input type="password" name="pass" class="form-control" id="pass" value placeholder="Password" required="yes" />
              </div>
              <div class="text-left">
            <input type="checkbox" name="cekbox" class="form-check-input">Remember Me
    </div>
              <div class="col">
          <button name="logins" class="btn btn-primary btn-lg btn-block">Login</button>
            </div>
            
        </form>
        
      </section>  
      </div>

  </div>   
  
  
</div>
    </body>
</html>


Lalu masukan script untuk masuk ke database Dibawah link



<script>
  function myfunction() {
   swal({
    title: "Login Sucess",
    text: "Great! , Click Continue",
    icon: "success",
    showConfirmButton: false,
    timer: 2000
   }).then((result) => {
    if (result.dismiss === swal.DismissReason.timer){
    }})}

   function myfunction2() {
    swal({
     title: "Login Failed",
     text: "Type a correct username and password ",
     icon: "error",
     button: "Retry",
    })} 
     </script>


Dan Panggil Function Pada Button Login


<?php 
            if(isset($_POST['logins'])){
                $hasil=$admin->login_admin($_POST['usr'],$_POST['pass']);
                if ($hasil=="sukses") {
                        echo '<script type="text/javascript">',
                        'myfunction()',
                        '</script>';
                        echo "<meta http-equiv='refresh' content='2;url=admin/index.php'>";
                }
                else{
                        echo '<script type="text/javascript">',
                        'myfunction2()',
                        '</script>';
                        echo "<meta http-equiv='refresh' content='url=index.php'>";
                }
            }
?>
          

Buat file php baru dengan nama config.php
Dimana "datasis" diganti dengan nama database anda
default host = localhost
password = root (Jika tanpa password)
<?php 
session_start();
$con = new mysqli("localhost", "root","" , "datasis");

class admin{

 public $koneksi;

 function __construct($con){
  $this->koneksi = $con;
 }

 function ambil_user()
 {
  $ambil=$this->koneksi->query("SELECT*FROM user");

  while ($pecah = $ambil->fetch_assoc()) {
   $data[] = $pecah;
  }
  return $data;
 }

 function login_admin($usr,$pass)
 {
  $ps = sha1($pass);
  $ambil=$this->koneksi->query("select*from user where username='$usr' and password='$ps' ");
  $cocok=$ambil->num_rows;

  if($cocok==1){
   $akun=$ambil->fetch_assoc();
   $_SESSION['admin'] = $akun;
   return "sukses";
  }
  else{
   return "gagal";
  }
 }
}


class siswa{

 public $koneksi;

 function __construct($con){
  $this->koneksi = $con;
 }

 function ambil_siswa()
 {
  $ambil=$this->koneksi->query("SELECT*FROM siswa");

  while ($pecah = $ambil->fetch_assoc()) {
   $data[] = $pecah;
  }
  return $data;
 }

 function tambah_siswa($usr,$pass,$nama,$alamat)
 {
  $this->koneksi->query("INSERT INTO siswa(nama_user,password,nama_siswa,alamat) VALUES ('$usr','$pass','$nama','$alamat')");
 }

 function ambilsatu_siswa($id_siswa)
 {
  $ambil=$this->koneksi->query("SELECT*FROM siswa WHERE id_siswa=$id_siswa");
  $pecah=$ambil->fetch_assoc();
  return $pecah;
 }

 function hapus_siswa($id_siswa)
 {
  $data_lama = $this->ambilsatu_siswa($id_siswa);
  $this->koneksi->query("DELETE FROM siswa WHERE id_siswa='$id_siswa'");

 }

 function ubah_siswa($usr,$pass,$nama,$alamat,$id_siswa)
 {
  $data_lama = $this->ambilsatu_siswa($id_siswa);
  $this->koneksi->query("UPDATE siswa SET nama_user='$usr',password='$pass',nama_siswa='$nama',alamat='$alamat' WHERE id_siswa='$id_siswa'") or die(mysqli_error($this->koneksi));
 }
}

$siswa = new siswa($con);
$admin = new admin($con);

?>



Jika Salah Memasukan User/Password akan keluar seperti dibawah ini



Dan Jika melakukan kesalahan input 3x maka akan diblokir
Dengan Script Dibawah ini Dan Copy dan Pastekan Paling Atas
<?php
session_start();
ini_set('display_errors', 0);
if($_SESSION["salah"] >= 3){
echo "<script>alert('Anda Diblokir'); window.location = ('blokir.php')</script>";
    exit();
}
?>



Jika Sukses login maka akan masuk ke dashboard admin

Terdapat Menu Pada Bagian Kiri Atas
Dan Admin Dapat Menambahkan Mengubah Dan Menghapus Data Siswa


Untuk Filenya Dapa Di Download Dibawah Ini

Selasa, 06 Maret 2018

TAG YANG ADA PADA HTML


Tag Apa Itu Tag ?
Tag adalah suatu penanda untuk menandai elemen-elemen dalam suatu dokumen HTML dan Fungsi Tag adalah untuk memberikan instruksi atau memberitahu kepada browser bagaimana suatu objek di tampilkan berdasarkan Tag yang di gunakan, objek disini bisa berupa teks, video, audio dan gambar.

Contoh Menggunakan Tag pada HTML yang SALAH
Code :
<h1> Isi Konten </p> Belajar HTML di CodePolitan sangat menyenangkan
Karena banyak sekali Tag dan atribut pada HTML, 
 untuk mendefinisikan kegunaan Macam- macam Tag secara satu persatu, pada tabel dibawah ini:
Nama TagKeterangan / Kegunaan
Basic 
<!DOCTYPE>Tag untuk menentukan tipe dokumen
<html>Tag untuk membuat sebuah dokumen HTML
<title>Tag untuk membuat judul dari sebuah halaman
<body>Tag untuk membuat tubuh dari sebuah halaman
<h1> to <h6>Tag untuk membuat heading
<p>Tag untuk membuat paragraf
<br>Memasukan satu baris putus
<hr>Tag untuk membuat perubahan dasar kata didalam isi
<!--...-->Tag untuk membuat komentar
Formatting 
<acronym>Tag untuk membuat sebuah akronim (tidak disupport lagi di HTML5)
<abbr>Tag untuk membuat sebuah singkatan
<address>Tag untuk membuat kontak alamat
<b>Tag untuk membuat huruf bercetak tebal
<bdi>Mengisolasi bagian dari teks yang dapat diformat dalam arah yang berbeda dari teks lain di luarnya (tag baru HTML5)
<bdo>Mengganti arah teks
<big>Tag untuk membuat text berhuruf besar (tidak disupport lagi di HTML5)
<blockquote>Tag untuk membuat sebuah bagian text yang dikutip dari sumber lain
<center>Tag untuk membuat jajaran teks menjadi ditengah (tidak disupport lagi di HTML5)
<cite>Tag untuk membuat judul karya
<code>Tag untuk membuat potongan kode komputer di antara text
<del>Tag untuk membuat teks yang telah dihapus dari dokumen
<dfn>Tag untuk membuat sebuah istilah definisi
<em>Tag untuk membuat penekanan teks (tidak disupport lagi di HTML5)
<font>Tag untuk membuat font, warna, dan ukuran untuk teks (tidak disupport lagi di HTML5)
<i>Tag untuk membuat sebuah bagian dari teks yang disesuaikan dengan mood
<ins>Tag untuk membuat teks yang telah dimasukkan ke dalam dokumen
<kbd>Tag untuk membuat input keyboard
<mark>Tag untuk membuat teks yang disorot / ditandai (tag baru HTML5)
<meter>Tag untuk membuat pengukuran skalar
<pre>Tag untuk membuat teks terformat
<progress>Memperlihatkan kemajuan tugas (tag baru HTML5)
<q>Tag untuk membuat kutipan pendek
<rp>Tag untuk membuat apa yang harus ditampilkan di browser yang tidak mendukung penjelasan ruby (tag baru HTML5)
<rt>Tag untuk membuat sebuah anotasi / pengucapan karakter (untuk tipografi Asia Timur)
<ruby>Tag untuk membuat sebuah anotasi ruby (untuk tipografi Asia Timur) (tag baru HTML5)
<s>Tag untuk membuat teks yang tidak lagi benar
<samp>Tag untuk membuat contoh keluaran dari program komputer
<small>Tag untuk membuat teks kecil
<strike>Tag untuk membuat teks yang di coret tengah (tidak disupport lagi di HTML5)
<strong>Tag untuk membuat teks penting
<sub>Tag untuk membuat teks subskrip (seperti dalam penulisan Jat Kimia)
<sup>Tag untuk membuat teks superscripted (seperti dalam penulisan akar kuadrat)
<time>Tag untuk membuat tanggal / waktu (tag baru HTML5)
<tt>Tag untuk membuat teks teletype (tidak disupport lagi di HTML5)
<u>Tag untuk membuat teks yang memiliki Gaya yang berbeda dari teks biasa lainnya
<var>Tag untuk membuat sebuah variabel
<wbr>Tag untuk membuat kemungkinan garis-putus
  
 
  
Forms 
<form>Tag untuk membuat sebuah form HTML untuk input pengguna
<input>Tag untuk membuat sebuah kontrol input
<textarea>Tag untuk membuat sebuah kontrol input multibaris (text area)
<button>Tag untuk membuat sebuah tombol yang dapat diklik
<select>Tag untuk membuat sebuah daftar drop-down
<optgroup>Tag untuk membuat sebuah kelompok pilihan yang terkait dalam daftar drop-down
<option>Tag untuk membuat pilihan dalam daftar drop-down
<label>Tag untuk membuat sebuah label untuk sebuah elemen <input>
<fieldset>Grup unsur terkait dalam bentuk
<legend>Tag untuk membuat sebuah caption untuk sebuah elemen <fieldset>, < figure>, atau <details>
<datalist>Menentukan daftar pilihan yang telah ditetapkan untuk kontrol input (tag baru HTML5)
<keygen>Tag untuk membuat key-pair generator kolom input (tag baru HTML5)
<output>Tag untuk membuat hasil penghitungan (tag baru HTML5)
Frames 
<frame>Tag untuk membuat sebuah window (bingkai) dalam sebuah frameset (tidak disupport lagi di HTML5)
<frameset>Tag untuk membuat satu set bingkai (tidak disupport lagi di HTML5)
<noframes>Tag untuk membuat sebuah konten alternatif untuk pengguna yang tidak mendukung frame (tidak disupport lagi di HTML5)
<iframe>Tag untuk membuat sebuah bingkai
Images 
<img>Tag untuk membuat gambar
<map>Tag untuk membuat gambar-peta
<area>Tag untuk membuat area dalam gambar-peta
<canvas>Digunakan untuk menggambar grafik, melalui scripting (JavaScript ) (tag baru HTML5)
<figcaption>Tag untuk membuat sebuah caption untuk elemen <figure> (tag baru HTML5)
<figure>Menentukan konten mandiri (tag baru HTML5)
Audio/Video 
<audio>Tag untuk membuat isi suara (tag baru HTML5)
<source>Tag untuk membuat sumber beberapa media untuk elemen media (<video> dan <audio>) (tag baru HTML5)
<track>Tag untuk membuat trek teks untuk elemen media (<video> dan <audio>) (tag baru HTML5)
<video>Tag untuk membuat sebuah video atau film (tag baru HTML5)
Links 
<a>Tag untuk membuat hyperlink
<link>Tag untuk membuat hubungan antara dokumen dan sumber daya eksternal (paling sering digunakan untuk link ke style sheet)
<nav>Tag untuk membuat navigasi link (tag baru HTML5)
Lists 
<ul>Tag untuk membuat daftar dengan selain nomor
<ol>Tag untuk membuat daftar dengan nomor
<li>Tag untuk membuat sebuah item daftar
<dir>Tag untuk membuat sebuah daftar direktori (tidak disupport lagi di HTML5)
<dl>Tag untuk membuat sebuah daftar definisi
<dt>Tag untuk membuat istilah (item) dalam daftar definisi
<dd>Defines a description of an item in a definition list
<menu>Tag untuk membuat deskripsi dari item dalam daftar definisi
<command>Tag untuk membuat sebuah tombol perintah bahwa seorang pengguna dapat meminta (tag baru HTML5)
Tables 
<table>Tag untuk membuat tabel
<caption>Tag untuk membuat sebuah caption tabel
<th>Tag untuk membuat sebuah sel header tabel
<tr>Tag untuk membuat baris dalam sebuah tabel
<td>Tag untuk membuat sel dalam sebuah tabel
<thead>Mengelompokan isi header dalam sebuah tabel
<tbody>Mengelompokanisi tubuh dalam sebuah tabel
<tfoot>Mengelompokan isi footer dalam sebuah tabel
<col>Menentukan properti kolom untuk setiap kolom dalam elemen <colgroup>
<colgroup>Menentukan kelompok dari satu atau lebih kolom dalam sebuah tabel untuk diformat
Style/Sections 
<style>Tag untuk membuat informasi style untuk dokumen
<div>Tag untuk membuat sebuah bagian dalam dokumen
<span>Tag untuk membuat sebuah bagian dalam dokumen
<header>Tag untuk membuat sebuah header untuk dokumen atau bagian (tag baru HTML5)
<footer>Tag untuk membuat footer untuk dokumen atau bagian (tag baru HTML5)
<hgroup>Pengelompokan elemen heading (<h1> sampai <h6>) (tag baru HTML5)
<section>Tag untuk membuat bagian dalam dokumen (tag baru HTML5)
<article>Tag untuk membuat sebuah artikel (tag baru HTML5)
<aside>Tag untuk membuat konten lain selain dari konten halaman (tag baru HTML5)
<details>Tag untuk membuat rincian tambahan yang pengguna dapat lihat atau sembunyikan (tag baru HTML5)
<dialog>Tag untuk membuat sebuah kotak dialog atau jendela (tag baru HTML5)
<summary>Tag untuk membuat sebuah judul terlihat untuk elemen <detil> (tag baru HTML5)
Meta Info 
<head>Tag untuk membuat informasi tentang dokumen
<meta>Tag untuk membuat metadata tentang dokumen HTML
<base>Menentukan URL dasar / target untuk semua URL relatif dalam dokumen
<basefont>Menentukan standar warna, ukuran, dan font untuk semua teks dalam dokumen (tidak disupport lagi di HTML5)
Programming 
<script>Tag untuk membuat script di sisi klien
<noscript>Tag untuk membuat sebuah konten alternatif bagi pengguna yang tidak mendukung script di sisi klien
<applet>Tag untuk membuat sebuah java applet yang ditanam (tidak disupport lagi di HTML5)
<embed>Tag untuk membuat sebuah wadah untuk aplikasi eksternal (non-HTML) (tag baru HTML5)
<object>Tag untuk membuat sebuah objek yang ditanam
<param>Tag untuk membuat sebuah parameter untuk objek



TERIMA KASIH

Anando Wahono Putro
5150411186