Jumat, 28 Januari 2011

Upload File


Upload File
<form action="upload.php" method="POST" ENCTYPE="MULTIPART/FORM-DATA">
nama berkas : <input type="file" name="namafile">
</form>
Perjatikan bahwa tag <FORM> pada script diatas mengandung atribut ENCTYPE yang berisi "MULTIPART/FORM-DATA". Pada tag ini, ACTION (yang menyatakan file yang akan dijalankan sekiranya tombol SUBMIT diklik) diisi dengan file upload.php.
<input type="file" name="namafile">
Adalah perintah untuk menangani penentuan file oleh pemilih.
$datafile = $_FILES["namafile"];
Untuk memperoleh nama file, mula-mula ditangani melalui pernyataan disamping.
Perhatikan bahwa superglobal $_FILES dipakai untuk memperoleh data yang didasarkan pada nama variabel namafile(nama variabel dalam upload.php yang menyatakan nama file yang di-upload). Hasil dari $_FILES["namafile"] berupa array. Untuk mendapatkan nama file yang sesungguhnya, diperlukan indeks berupa “name” terhadap $datafile. Jadi,
$datafile["name"];
Untuk mengambil nama file yang diupload.
Dalam hal ini, PHP akan melakukan penyalinan terhadap file bersangkutan kesuatu folder sementara pada server. Folder ini dapat diatur melalui direktif upload_tmp_dir yang terdapat pada file php.ini.
Sekiranya file tidak di-upload (misalnya tidak ada file yang dipilih ketika pemakai mengklik Upload), nama file akan berupa string kosong.


Membatasi ukuran file
Ukuran file yang dapat di-upload bergantung pada direktif upload_max_files yang terdapat pada file php.ini. Tentu saja anda bisa secara langsung melakukan perubavhan pada file tersebut. Namun, ada cara lain yang dapat anda lakukan pada kode HTML, yaitu dengan menambahkan baris seperti berikut :
<input type="HIDDEN" name="MAX_FILE_SIZE" value="1024">
Yang terpenting, kode diatas perlu diletakkan sebelum INPUT yang bertipe FILE. Sebagai informasi tambahan yang perlu anda ketahui, 1024 pada VALUE menyatakan ukuran file terbesar yang dapat disalin ke server. Satuanya adalah byte.
Kode lengkap yang melibatkan MAX_FILE_SIZE :
<form action="upload.php" method="POST" ENCTYPE="MULTIPART/FORM-DATA">
<input type="HIDDEN" name="MAX_FILE_SIZE" value="1024">
nama berkas : <input type="FILE" name="upload">
</form>
Bila ukuran file yang akan di-upload lebih dari nilai pada MAX_FILE_SIZE, variabel yang disebutkan pada INPUT berupa FILE akan berisi string kosong.
           
Mengetahui tipe, ukuran, dan letak file yang di-upload
Sebagaimana telah dijelaskan didepan, hasil dari semacam $_FILES["namafile"] berupa array, jika anda mengenakan indeks berupa “name”, terhadap array tersebut maka akan diperoleh nama file. Selain “name” anda bisa mengenakan indeks berupa “type”, “size”, dan “tmp_name”.
Tabel. 000XX. Indeks yang dapat dikenakan untuk array.
Indeks
Hasil
Name
Nama file
Type
Type file
Size
Ukuran file dalam byte
Tmp_name
Nama file sementara setelah di-upload
Contoh penulisan :
$datafile = $_FILES["namafile"];
$namafile = $datafile["name"];
$tipe = $datafile["type"];
$ukuran = $datafile["size"];
$file_sementara = $ $datafile["tmp_name"];

Menangani penyalinan secara permanen
Sebagai mana telah diterangkan, file yang di-upload akan ditaruh pada folder yang bersifat sementara. Supaya file tidak hilang, anda perlu menyalinnya pada lokasi Anda sendiri.
Contoh penulisan untuk salin :
$file_sementara = $_FILES["namafile"]["tmp_name"];
$namafile = $_FILES["namafile"]["name"];

if(copy($file_sementara,"c:/wamp/www/images/$namafile"))
{
      print("Berkas $namafile_name telah disalin");
      unlink($file_sementara);
}
copy($file_sementara,"c:/wamp/www/images/$namafile")
Digunakan untuk mengkopi file, dari folder sementara ke folder yang telah dibuat.
unlink($file_sementara);
Digunakan untuk menghapus file pada folder sementara.
Sebelum melakukan penyalinan secara permanen, Anda juga bisa melakukan validasi apakan file misalnya bertipe gambar atau tidak. Anda bisa menggunakan indeks “type” pada hasil $_FILES[“namafile”].

Berikut adalah contoh kode program untuk upload images
Buatlah tabel di mysql dengan nama tbl_barang dengan field : id_barang, kode_kategori, nama_barang, harga, keterangan, stok, gambar, berat_kg.

Buatlah file index.php dan copy script dibawah ini :
<?php
	if(isset($_GET["action"])){
		if($_GET["action"]=="edit"){
			$sql2 = mysql_query("select * from tbl_barang where kode_barang='".$_GET["kb"]."'");
			$data2 = mysql_fetch_array($sql2);
			
			$kategori		= $data2["kode_kategori"];
			$nama_barang	= $data2["nama_barang"];
			$harga			= $data2["harga"];
			$keterangan		= $data2["keterangan"];
			$stok			= $data2["stok"];
			$kode_barang	= $data2["kode_barang"];
			$berat_kg		= $data2["berat_kg"];
		}
		if($_GET["action"]=="hapus"){
			//------hapus gambar terlebih dahulu
			$nama_gambar = getNamagambar($_GET["kb"]);
			@unlink("images/barang/".$nama_gambar); //sesuaikan letak folder
			$sql = mysql_query("delete from tbl_barang where kode_barang = '".$_GET["kb"]."'");
			if($sql){
				?>
					<script language="javascript">
						alert("Berhasil di Hapus");
						window.location.href="index.php";
					</script>
				<?php
			}
		}
	}
	
	if(isset($_POST["tombol"])){
		if($_POST["tombol"]=="Simpan"){
			$lokasi_file=$_FILES['fupload']['tmp_name'];
			$nama_file = $_FILES['fupload']['name'];
			if(strlen($lokasi_file)!=0 and strlen($nama_file)!=0){
				//------seputar upload image penambahan nama
				$now = time();
				$a=str_replace(" ","_",$nama_file);
				$b=str_replace("(","",$a);
				$c=str_replace(")","",$b);
				while(file_exists($uploadFilename = $now.'-'.$c)){
					$now++;
				}
				//------seputar upload image move to folder
				$direktori= "images/barang/$uploadFilename"; //sesuaikan letak folder
				if(move_uploaded_file($lokasi_file,$direktori)){   
					$sql = mysql_query("insert into tbl_barang (kode_kategori,nama_barang,harga,keterangan,stok,gambar,berat_kg) values ('".$_POST["txtkategori"]."',
					'".$_POST["txtnama_barang"]."',
					'".$_POST["txtharga"]."',
					'".$_POST["txtketerangan"]."',
					'".$_POST["txtstok"]."',
					'".$uploadFilename."',
					'".$_POST["txtberat"]."')");
					if($sql){
						?>
							<script language="javascript">
								alert("Berhasil di simpan");
								window.location.href="index.php";
							</script>
						<?php
					}else{
						?>
							<script language="javascript">
								alert("Gagal di simpan");
								window.location.href="index.php";
							</script>
						<?php
					}
				}
			}
		}
		if($_POST["tombol"]=="Edit"){
			$lokasi_file=$_FILES['fupload']['tmp_name'];
			$nama_file = $_FILES['fupload']['name'];
			if(strlen($lokasi_file)!=0 and strlen($nama_file)!=0){
				//------hapus gambar terlebih dahulu
				$nama_gambar = getNamagambar($_POST["txtkode_barang"]);
				$hapus = unlink("images/barang/".$nama_gambar);//sesuaikan letak folder
				if($hapus){
					//------seputar upload image penambahan nama
				$now = time();
				$a=str_replace(" ","_",$nama_file);
				$b=str_replace("(","",$a);
				$c=str_replace(")","",$b);
				while(file_exists($uploadFilename = $now.'-'.$c)){
					$now++;
				}
				//------seputar upload image move to folder
				$direktori= "images/barang/$uploadFilename";//sesuaikan letak folder
				if(move_uploaded_file($lokasi_file,$direktori)){   
					$sql = mysql_query("update tbl_barang set 
					kode_kategori	='".$_POST["txtkategori"]."',
					nama_barang		='".$_POST["txtnama_barang"]."',
					harga			='".$_POST["txtharga"]."',
					keterangan		='".$_POST["txtketerangan"]."',
					stok			='".$_POST["txtstok"]."',
					gambar			='".$uploadFilename."',
					berat_kg			='".$_POST["txtberat"]."'
					where kode_barang='".$_POST["txtkode_barang"]."'");
					
					if($sql){
						?>
							<script language="javascript">
								alert("Berhasil di Edit");
								window.location.href="index.php";
							</script>
						<?php
					}else{
						?>
							<script language="javascript">
								alert("Gagal di Edit");
								window.location.href="index.php";
							</script>
						<?php
					}
				}
				}else{
					?>
						<script language="javascript">
							alert("Gagal di Edit");
							window.location.href="index.php";
						</script>
					<?php
				}
			}else{
				$sql = mysql_query("update tbl_barang set 
				kode_kategori	='".$_POST["txtkategori"]."',
				nama_barang		='".$_POST["txtnama_barang"]."',
				harga			='".$_POST["txtharga"]."',
				keterangan		='".$_POST["txtketerangan"]."',
				stok			='".$_POST["txtstok"]."',
				berat_kg		='".$_POST["txtberat"]."'
				where kode_barang='".$_POST["txtkode_barang"]."'");
				
				if($sql){
					?>
						<script language="javascript">
							alert("Berhasil di Edit");
							window.location.href="index.php";
						</script>
					<?php
				}else{
					?>
						<script language="javascript">
							alert("Gagal di Edit");
							window.location.href="index.php";
						</script>
					<?php
				}
			}
		}
	}
?>

<form name="form1" action="" method="post" enctype="multipart/form-data">
<table width="402" border="0">
  <tr>
    <td width="28%">Kategori</td>
    <td width="4%">:</td>
    <td width="68%">
    <select name="txtkategori" id="txtkategori">
     	<option value="">::Pilih::</option>
		<?php 
        $a=mysql_query("select*from tbl_kategori order by nama_kategori asc");
        while($aa=mysql_fetch_array($a)){
        ?>
        <option value="<?php echo $aa["kode_kategori"];?>" <?php if($aa["kode_kategori"]==$kategori){echo"selected";}?>><?php echo $aa["nama_kategori"];?></option>
        <?php
        }
        ?>
    </select>    </td>
  </tr>
  <tr>
    <td>Nama Barang</td>
    <td>:</td>
    <td><input type="text" name="txtnama_barang" size="25" id="txtnama_barang" value="<?php echo $nama_barang;?>"  /></td>
  </tr>
  <tr>
    <td>Harga</td>
    <td>:</td>
    <td><input type="text" name="txtharga" size="10" id="txtharga" value="<?php echo $harga;?>"  /></td>
  </tr>
  <tr>
    <td valign="top">Keterangan</td>
    <td valign="top">:</td>
    <td><textarea name="txtketerangan" rows="3" cols="30"><?php echo $keterangan;?></textarea></td>
  </tr>
  <tr>
    <td>Stok</td>
    <td>:</td>
    <td><input type="text" name="txtstok" size="10" id="txtstok" value="<?php echo $stok;?>"  /></td>
  </tr>
  <tr>
    <td>gambar</td>
    <td>:</td>
    <td><input type="file" name="fupload">
    <?php
		if(isset($_GET["action"]) && $_GET["action"]=="edit"){
			?>
            	<font color="#339900"><b>Apabila gambar tidak mau diganti kosongi saja.</b></font>
			<?php
		}
    ?>    </td>
  </tr>
  <tr>
    <td>Berat</td>
    <td> </td>
    <td><input type="text" name="txtberat" size="10" id="txtberat" value="<?php echo $berat_kg;?>"  /></td>
  </tr>
  <tr>
    <td> </td>
    <td> </td>
    <td> </td>
  </tr>
  <tr>
    <td> </td>
    <td><input type="hidden" value="<?php echo $kode_barang;?>" name="txtkode_barang" /></td>
    <td>
    <?php
		if(isset($_GET["action"]) && $_GET["action"]=="edit"){
			?>
            	<input type="submit" name="tombol" value="Edit" />
                <input type="button" name="tombol" value="Batal" onclick="window.location.href="index.php"" />
            <?php
		}else{
			?>
            	<input type="submit" name="tombol" value="Simpan" />
                <input type="reset" name="tombol" value="Hapus" />
			<?php
		}
	?>    </td>
  </tr>
</table>
</form>

<div style="overflow:scroll; height:300px;">
<table width="100%" border="1" class="classTable">
  <tr>
    <th width="20">No</th>
    <th width="364">Nama Kategori</th>
    <th width="364">Nama Barang</th>
    <th width="364">Harga</th>
    <th width="364">Keterangan</th>
    <th width="364">Stok</th>
    <th width="364">Gambar</th>
    <th width="364">Berat</th>
    <th width="364">Action</th>
  </tr>
  <?php
  	$no=0;
  	$sql = mysql_query("select*from tbl_barang order by kode_barang asc");
	while($data=mysql_fetch_array($sql)){
	$no++;
  ?>
  <tr>
    <td><?php echo $no;?></td>
    <td><?php echo getNamaKategori($data["kode_kategori"]);?></td>
    <td><?php echo $data["nama_barang"];?></td>
    <td><?php echo number_format($data["harga"],2,',','.');?></td>
    <td><?php echo $data["keterangan"];?></td>
    <td><?php echo $data["stok"];?></td>
    <td><img src="images/barang/<?php echo $data["gambar"];?>" width="50" height="50"  /></td>
    <td><?php echo $data["berat_kg"];?></td>
    <td><a href="index.php?action=edit&kb=<?php echo $data["kode_barang"];?>">Edit</a> | <a href="index.php?action=hapus&kb=<?php echo $data["kode_barang"];?>" onClick="return confirm('Apakah anda benar - benar akan menghapus barang ?');">Hapus</a></td>
  </tr>
  <?php
  	}
  ?>
</table>
</div>

Membuat kode yang otomatis


Membuat kode yang otomatis
$qry=mysql_query("select no_trans from bk_ujian_jual order by no_trans desc");
$data=mysql_fetch_array($qry);
$kode1=$data[no_trans];
$kode2=substr($kode1,3,9);//mengambil string yang ditentukan
$kode3=intval($kode2)+1;
$kode4=strlen($kode3);//mengetahui panjang string
if($kode4==1)
{$kode="NTH000000".$kode3;}
else if($kode4==2)
{$kode="NTH00000".$kode3;}
else if($kode4==3)
{$kode="NTH0000".$kode3;}
else if($kode4==4)
{$kode="NTH000".$kode3;}
else if($kode4==5)
{$kode="NTH00".$kode3;}
else if($kode4==6)
{$kode="NTH0".$kode3;}
else if($kode4==7)
{$kode="NTH".$kode3;}

Satu paket koneksi untuk php ke mysql


Satu paket koneksi untuk php ke mysql
<?
  $coba=mysql_connect("localhost","root","root");
  $coba2=mysql_select_db("a210705938");

  if($coba)
  {
    echo"berhasil konek ke mysql";
  }
  if($coba2)
  {
    echo"berhasil memilih database";
  }
?>

Koneksi ke MySQL


Koneksi ke MySQL
mysql_connect(host, nama_pemakai, password);
ex :
mysql_connect("localhost","root","root");
mysql_connect("192.168.10.250","a210705938","");
$konek = mysql_connect("localhost","root","root");
$konek = mysql_connect("192.168.10.250","a210705938","");
Fungsi mysql_connect(); digunakan untuk menghubungkan ke database MySQL yang terdapat pada suatu host.
mysql_close(pengenal_hubungan);
ex :
mysql_close($konek);
Fungsi ini berguna untuk menutup hubungan ke database MySQL.
mysql_select_db(nama_database);
ex :
mysql_select_db("a210705938");
Fungsi ini berguna untuk memilih database.
mysql_query(permintaan);
ex :
mysql_query("insert into mhs values('','','')");
$qry = mysql_query("select * from mhs");
Fungsi diatas berguna untuk mengeksekusi permintaan terhadap sebuah tabel atau sejumlah tabel.
mysql_fetch_array(pengenal_hasil);
ex :
$data = mysql_fetch_array($qry);
atau
while($data = mysql_fetch_array($qry))
{
      $a = $data[nim];
      $b = $data[nama];
}
Fungsi diatas berfungsi untuk menghasilkan array yang berisi seluruh kolom dari sebuah baris pada suatu himpunan hasil, setiap kolom akan disimpan dua kali pada array hasil, yang pertama memiliki indeks angka (dimulai dari nol)dan yang kedua berindekskan nama kolom.
dll......

Pesan Kesalahan PHP


Pesan Kesalahan PHP
Level kesalahan menyatakan tingkat kesalahan. Beberapa diantaranya level pesan kesalahan berupa :
-          Parse error
Menyatakan kesalahan karena kaidah
-          Fatal error
Disebabkan kesalahan semantik yang mengakibatkan PHP segera menghentikan eksekusi program.
-          Warning
(peringatan) akan membuat kesalahan ditampilkan, tetapi pengeksekusian akan tetap dilakukan.
-          Nitice.
Tabel level kesalahan
Level kesalahan
Konstanta
Kesalahan
1
E_ERROR
Fatal error
2
E_WARNING
Warning
4
E_PARSER
Parser error
8
E_NOTICE
Notice
error_reporting([level]);
 error_reporting([level]);
 ...............
?>
Untuk mengatur pesan – pesan kesalahan dengan menuliskan level yang diinginkan.
error_reporting(0);
Untuk mematikan semua penampilan pesan kesalahan.
error_reporting(E_ALL);
Untuk menghidupkan penampilan semua kesalahan.
error_reporting(E_PARSER) | E_WARNING);
Untuk menampilkan pesan kesalahan yang tergolong sebagai parser error dan warning.

Menangani kesalahan


Menangani kesalahan
Macam – macam kesalahan:
  1. kesalahan kaidah.
Disebabkan adanya kesalahan dalam menuliskan kaidah perintah.
  1. kesalahan semantik, dan
biasanya juga disebut kesalahan sewaktu eksekusi, contohnya pada file yang dituju tidak tersedia atau terletak di folder lain.
  1. kesalahan nalar.
Biasanya memberikan hasil yang keliru, contohnya perhitungan yang salah.
if(!file_exists("takada"))
 die("berkas takada tidak ditemukan");
Menangani kesalahan menggunakan if
$a=@fopen("takada","r")or
 die("berkas takada tidak ditemukan");
Menangani kesalahan menggunakan @

Cookie


Cookie
Adalah sepotong data yang disimpan pada hard disk lokal milik pengunjung dan digunakan oleh halaman web dalam mengingat sesuatu informasi.
setcookie(nama_cookie, nilai_cookie);
ex : setcookie("nama", "Ali Muhtas");
Menciptakan cookie
$_COOKIE["nama"];
Mengakses cookie
setcookie(nama_cookie, nilai_cookie, waktu_kadaluarsa);
ex : setcookie("nama","Ali Muhtas",time()+3600);
Kode diatas berguna untuk menambahkan waktu kadaluarsa pada cookie, pada perintah diatas, time() digunakan untuk memperoleh waktu sekarang, sedangkan 3600 menyatakan jumlah detik dalam 1 jam.
Artinya bila anda menutup browser dan menjalankannya selama satu jam setelah anda mengakhirinya, cookie  dianggap telah kadaluarsa sehingga tidak tampil lagi pada browser.
setcookie("nama");
Menghapus cookie yang bernama nama
Untuk menghapus cookie, digunakan setcookie(); dengan menyebutkan nama cookie pada argumen pertama dan string kosong pada argumen kedua. Cara lain, argumen kedua tidak disebutkan. Perlu diketahui, penghapusan suatu cookie hanya berimplikasi pada $_COOKIE pada scrip lain.
setcookie("nama", "Ali Sun Bae");
Mengganti cookie
Untuk mengganti isi cookie,  gunakan setcookie() seperti kalau anda menciptakan cookie.  

Sesi


Sesi
PHP meyediakan pustaka yang berguna untuk membentuk sebuah sesi dengan menggunakan session. Berbeda dengan cookie (yang menyimpan data pada klien), session (selanjutnya akan disebut sesi) diimplementasikan dengan menyimpan data pada server. Dengan demikian, tidak perlu ada komunikasi bolak – balik antara web server dan klien ketika web server membutuhkan data tersebut.
session_start();
Mengawali sesi
session_destroy();
Mengakhiri sesi
session_id();
Mengetahui string/pengenal sesi
-          Sesi juga berakhir ketika browser ditutup.
-          Bila anda menggunakan session_start();pada dua skrip atau lebih, sesi yang digunakan adalah sesi yang sama sepanjang session_destroy();tidak dipanggil.
$_SESSION["var_x"]="12345";
Mendaftarkan/membuat  variabel sesi
if(isset($_SESSION["var_x"]))
{
      print($_SESSION["var_x"]);
}
else
{
      print("tidak ada");
}
Mengakses variabel sesi
Variabel dapat diakses oleh skrip lain dengan mula – mula melakukan pemanggilan fungsi session_start();dan kemudian variabel sesi bisa diperoleh melaui $_SESSION.
unset($_SESSION["var_x"]);
Membuang/menghapus variabel sesi

Menampilkan String

Dibawah ini adalah contoh penulisan kode untuk menampilkan string ke dalam layar monitor


Menampilkan String
printf();
print();
echo();
Fungsi untuk menampilkan string ke browser
printf ("%d",$data);
print ("Hallo");
print "Hallo";
echo ("Hai");
echo "Hai";
Cara penulisan

String dalam php


String dalam php
.
Tanda titik berguna untuk menggabugkan dua buah string.
.=
Tanda titik dan samadengan berguna untuk menggabungkan dua buah string, antara isi variabel dan string.
<?
 $kalimat = "Hai.";
 $kalimat = $kalimat . " " . "Selamat ";
 $kalimat .= " belajar PHP";
 print($kalimat);
?>
Skrip disamping menghasilkan, keluaran.
Hai. Selamat belajar PHP

Fungsi – fungsi lain yang sering digunakan


Fungsi – fungsi lain yang sering digunakan
emty
$a=emty($musik);
Untuk mengetahui apakah variabel argumennya bernilai kosong atau tidak.
isset
$a=isset($musik);
Untuk mengetahui apakah variabel argumennya sudah terbentuk atau belum.
dll......

Kode navigasi


Kode navigasi
header("location:hapus.php");
Digunakan untuk menuju ke halaman yang sudah ditentukan, biasanya kode ini digunakan untuk proses delete dan simpan.

Pemodifikasian link dalam PHP


Pemodifikasian link dalam PHP
<a href='index.php?menu=4&merk=$_GET[merk]&q=$page’>Next -></a>
Link diatas digunakan untuk mengelingkan kesuatu halaman tertentu dan memberikan nilai untuk proses selanjutnya pada halaman yang dituju.
Include dan require
include "index.php";
include ("index.php");
include ('index.php');
Include digunakan untuk menyertakan isi suatu kode yang disimpan pada file lain.
include_once ("judul.php");
Berguna untuk menghindari dari suatu skrip yang disertakan beberapa kali. Hal seperti ini sangat bermanfaat untuk mencegah terjadinya kesalahan akibat suatu nama fungsi didefinisikan lebih dari sekali.
require "simpan.php";
require ("simpan.php");
require ('simpan.php');
Fungsinya sama seperti include

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Justin Bieber, Gold Price in India