Showing posts with label Query SQL. Show all posts
Showing posts with label Query SQL. Show all posts

Thursday 19 May 2016

Login dan Logout Menggunakan $_SESSION, PHP, MySQL( Tutorial $_SESSION 2 )

Gambar 1. Form login pada tutorial ini

Gambar 2. Form selamat datang dan logout

Jika pada tutorial sebelumnya (Untuk Apa dan Bagimana Menggunakan $_SESSION ( Tutorial $_SESSION 1 )) mambahas apa dan bagaimana cara menggunakan $_SESSION. Pada kali tutorial ini akan membahas login dan logout sebagai contoh penggunaan $_SESSION.



1. CSS bootstrap hanya optional, tanpa bootstrap sistem tetap berjalan.
source code 1 (formlogin.html) :
<html>
<head>
    <link href="dist/css/bootstrap.min.css?v=<?php time();?>" rel="stylesheet">
</head>
<body>
 <div class="container">
   <div style="border: 5px solid green; padding:5px; margin:auto; width:300px;" >
     <form action="autentifikasi.php" method="POST">
        Username: <input type="text"  class="form-control"  name="username"></input><br/>
        Password: <input type="password" class="form-control" name="password"></input><br/>
        <input class="btn btn-success form-control" type="submit" value="login">
     </form>
     </div>
    </div>
</body>
</html>

2. autentifikasi.php digunakan untuk menyimpan status komputer clinet ($_SESSION["status"] = "login";). Status akan bernilai login bila username dan password ada dalam database.
source code 2 (autentifikasi.php):
<?php
  if(isset($_POST['username'])&isset($_POST['password'])){
    $username=$_POST["username"];
    $password=$_POST["password"]; 
    $conn = mysql_connect("localhost", "root", "");
    if ($conn) {
       mysql_select_db("dbblog");
       $sql="SELECT * FROM user1 WHERE username='".$username."' and password='".$password."'";
       $retval = mysql_query($sql , $conn );
       $num_rows = mysql_num_rows( $retval); //jika password n username ditemukan jumlah baris yang ditemukan 
       //berarti 1
    if($num_rows==1){
       session_start();
       $_SESSION["status"] = "login";
       header("Location: http://localhost:8012/contohsession/halamandepan.php");
       die();
 }
    else{
       header("Location: http://localhost:8012/contohsession/formlogin.html");
       die();
}
} 
  else
    echo "fail";
}
?>

3. Jika status tidak bernilai login maka dilempar atau dikembalikan ke formlogin.html. Button logout akan diarahkan ke url logoutautentifikasi.php.
source code 3 (halamandepan.php):
<?php
  session_start();
if($_SESSION["status"]!="login"){
  header("Location: http://localhost:8012/contohsession/formlogin.html");
  }
?>
<html>
<head>
    <link href="dist/css/bootstrap.min.css?v=<?=time();?>" rel="stylesheet">
</head>
<body>
 <div class="container">
     <div style="border: 5px solid green; padding:5px; margin:auto; width:300px;" >
       <form action="logoutautentifikasi.php" method="POST">
           <center>SELAMAT DATANG</center>
          <center>DI TUTORIAL $_SESSION 2</center><br/>
          <input class="btn btn-success form-control" type="submit" value="logout">
       </form>
        </div>
    </div>
</body>
</html>


4.  Status login dihapus kemudian diarahkan ke formlogin.html.
source code 4 (logoutautentifikasi.php):

<?php
session_start();
unset($_SESSION['status']);
header("Location: http://localhost:8012/contohsession/formlogin.html");
?>

Trimakasih..

Wednesday 18 May 2016

Membuat Halaman Blog Sederhana Menggunakan MySQL dan PHP (2)

Gambar 1. Hasil dari akhir dari tutorial
Jika pada tutorialny sebelumnya navigasi kehalaman lain meggunakan nomor halaman (Paging/Membuat Halaman Web Sederhana Menggunakan MySQL dan PHP), maka kali ini navigasi antar halaman dibuat seperti pada Gambar 1. Tipe halaman seperti ini sering kita jumpai pada blog-blog.

1. Pertama buat database seperti pada Gambar 2. Variabel waktuposting adalah variabel yang digunakan untuk menyimpan kapan tulisan anda di-insert. Nilai dari variabel ini juga digunakan untuk mengurutkan tulisan yang akan ditampilkan pada blog.

Gambar 2. Database yang digunakan pada tutorial .
-ket. database:
nomor bertipe integer
judul bertipe varchar (200)
tulisan bertipe text
waktuposting bertipe datetime


2. Untuk penjelasan dapat dilihat pada tutorial sebelumnya (Paging/Membuat Halaman Web Sederhana Menggunakan MySQL dan PHP), karena hampir sama. Untuk source code phpny dapat dilihat dibawah


source code 1:

<?php
$conn = mysql_connect("localhost", "root", "");
if ($conn) {
//echo "Connected successfully";
mysql_select_db("dbblog");
} 
else
echo "fail";


 
  $halamanke=0;
  if(isset($_GET['halamanke']))
  $halamanke=$_GET['halamanke'];


 
  $sql="SELECT * FROM posting ORDER BY waktuposting DESC LIMIT ".$halamanke.", 1";
  $retval = mysql_query($sql , $conn );

    while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
           echo"
                <b>".$row['judul']."</b><br/>
                ".$row['waktuposting']."<br/>
                ".$row['tulisan']."
               <br/> ";       
         }


  $sql="SELECT * FROM posting ";
             $retval = mysql_query($sql , $conn );
 $num_rows = mysql_num_rows( $retval);

if($halamanke==0)
  echo"<a href='halamanblog.php?halamanke=".($halamanke+1)."'>Halaman Lebih Lama</a>| ";
else if(($halamanke+1)==$num_rows )
  echo"|<a href='halamanblog.php?halamanke=".($halamanke-1)."'>Halaman Lebih Baru</a> ";
else{
 echo"<a href='halamanblog.php?halamanke=".($halamanke+1)."'>Halaman Lebih Lama</a> | ";
  echo"<a href='halamanblog.php?halamanke=".($halamanke-1)."'>Halaman Lebih Baru</a> ";
}
?>

Tuesday 17 May 2016

Paging/Membuat Halaman Web Sederhana Menggunakan MySQL dan PHP

Gambar 1. Halaman Web

Mungkin kita sering melihat halaman web yang seperti Gambar 1 atau bahkan sudah menerapkan pada blog/website namun belum tahu bagaimana cara membuatnya. Pada tutorial kali ini akan membahas bagaimana membuat halaman web yang sederhana menggunakan MySQL dan PHP  yang nantinya bisa dimodifikasi sendiri.


1. Karena sumber data berasal dari database maka langkah pertama adalah membuat koneksi ke database. Dalam tutorial ini menggunakan
host: localhost,
user name: root,
password: kosong/""
nama database: pagingdb

source code 1 :
<?php 
  $conn = mysql_connect("localhost", "root", "");
  if ($conn) {
    //echo "Connected successfully";
    mysql_select_db("pagingdb");
 } 
  else
    echo "fail";
?>

2. Jika sudah terkoneksi dengan database langkah selanjutnya menginisialisasi jumlah baris dalam satu tabel ($jumlahBarisPertabel) dan halaman yang pertama kali dibuka ($halamanke). Kita juga membuat kode untuk menerima nilai halaman yang dibuka ( $_GET['halamanke'] ), yang akan berguna pada saat nanti user memilih nomor halaman.
source code 2.
<?php
  $jumlahBarisPertabel=5;
  $halamanke=1;
  if(isset($_GET['halamanke'])) // untuk mengecek apakah ada nilai yang diberikan 
  $halamanke=$_GET['halamanke'];
?>


3. Untuk mendapatkan data dari database kita mengunakan query  "SELECT * FROM namaTabel LIMIT $barispertama$jumlahBarisPertabel". Variabel $jumlahBarisPertabel berguna untuk menentukan jumlah baris yang diambil, baris pertamanya ditentukan  dari nilai variabel $barispertama,

source code 3.

<?php
  $barispertama=($halamanke-1)*$jumlahBarisPertabel;
  $sql="SELECT * ". 
            "FROM anggotatim ".
            "LIMIT $barispertama, $jumlahBarisPertabel";
  $retval = mysql_query($sql , $conn );
?>

4. Setelah kita mendapatkan data yang diinginkan kemudian kita susun data tadi menjadi tabel (seperti yang dieksekusi pada source code 4).
source code 4:
<?php
    echo"<table>";
    while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
           echo"<tr>
                <td>".$row['Nama']."</td>
                <td>".$row['Nomor']."</td>
                </tr>";       
         }
    echo  " </table>";
?>

5. Untuk menampilkan nomor halaman dan membuka halaman tersebut kita perlu mengetahui jumlah dari seluruh baris yang ada dalam tabel yang ada. Kemudian kita susun informasi tadi menjadi nomor halaman seperti pada source code 5.
ceil() berguna untuk membulatkan bilangan desimal ke atas.

source code 5:
<?php
  $sql="SELECT * ". 
            "FROM anggotatim "; //Query untuk mendapatkan seluruh data
             $retval = mysql_query($sql , $conn );
 $num_rows = mysql_num_rows( $retval);// menghitung jumlah baris data

 for($i=1;$i<=ceil($num_rows/$jumlahBarisPertabel);$i++){ //menyusun nomor halaman
  echo"<a href='pagingsederhana.php?halamanke=".$i."'>".$i."</a> ";
 }
?>

6. Semua source code tadi dijadikan satu pada source code 6 dengan nama pagingsederhana.php. Jika di-run hasil nya seperti Gambar 2.

source code 6:
<?php
$conn = mysql_connect("localhost", "root", "");
if ($conn) {
//echo "Connected successfully";
mysql_select_db("pagingdb");
} 
else
echo "fail";


  $jumlahBarisPertabel=5;
  $halamanke=1;
  if(isset($_GET['halamanke']))
  $halamanke=$_GET['halamanke'];

  $barispertama=($halamanke-1)*$jumlahBarisPertabel;
  $sql="SELECT * ". 
            "FROM anggotatim ".
            "LIMIT $barispertama, $jumlahBarisPertabel";
  $retval = mysql_query($sql , $conn );

    echo"<table>";
    while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
           echo"<tr>
                <td>".$row['Nama']."</td>
                <td>".$row['Nomor']."</td>
                </tr>";       
         }
    echo  " </table>";

  $sql="SELECT * ". 
            "FROM anggotatim ";
             $retval = mysql_query($sql , $conn );
 $num_rows = mysql_num_rows( $retval);

 for($i=1;$i<=ceil($num_rows/$jumlahBarisPertabel);$i++){
  echo"<a href='pagingsederhana.php?halamanke=".$i."'>".$i."</a> ";
 }
?>

Gambar 2. Hasil dari source code  6

Wednesday 11 May 2016

Menambah dan Mengurangi Nilai Yang Sudah Ter-Insert / Tersedia ( ONE STATEMENT SQL UPDATE )


Gambar 1. Menambah dan Mengurangi Nilai Sebelumnya
Saat menggunakan database biasanya kita ingin merubah nilai dengan nilai yang berkaitan dangan nilai sebelumnya, contoh merubah stok barang, Berikut source code-ny: ( source code sesuai dengan ilustrasi Gambar 1 )




source code:
UPDATE tabel1 SET stok = stok+30 WHERE buah='anggur';
UPDATE tabel1 SET stok = stok-20 WHERE buah='melon';
UPDATE tabel1 SET stok = stok WHERE buah='apel';
UPDATE tabel1 SET stok = stok+100 WHERE buah='jeruk';
UPDATE tabel1 SET stok = stok WHERE buah='semangka';

Tuesday 10 May 2016

Menghilangkan Duplikasi Kemudian Mendapatkan Nilai Unique ( SQL DISTINCT)

Gambar 1. Eliminasi data duplikat 


Menghilangkan duplikasi dan kemudian mendapatkan nilai unique seperti gambar 1 adalah fungsi dari DISTINCT SQL. Source code-ny dapat dilihat dibawah.

source code:

SELECT DISTINCT Nama FROM tabel1

Wednesday 4 May 2016

SQL Operasi Aritmetika Pada Dua Tabel Berbeda (INNER JOIN)


Gambar 1. Contoh operasi aritmetika pada dua tabel berbeda
Untuk melakukan operasi aritmetika pada tabel yang berbeda mungkin kita dapat menggunakan sintax pada PHP. Namun sintaxnya akan lebih panjang daripada query menggunakan sql. Pembuatan query SQL ini kita dapat menggunakan SQL operation INNER JOIN, seperti berikut .


Gambar 2. Query yang digunakan untuk melalukan operasi aritmetika