Kamis, 09 Juli 2009

PENGGUNAAN $_GET dan $_POST DALAM PHP

Dalam PHP variabel $_GET dan $_POST digunakan untuk memperoleh informasi dari form, seperti input user.
  • $_POST : untuk model pengiriman POST
  • $_GET : untuk model pengiriman GET

untuk lebih jelasnya kita bandingkan contoh script dibawah ini :

$_GET

login.php
<html>
<head>
</head>
<body>
<form action="welcome.php" method="get">
Nama : <input type="textfield" name="nama"><br/>
Password : <input type="password" name="pwd"><br/>
<input type="submit" value="Send" name="send">
</form>
</body>
</html>

Bila user mengklik tombol "Submit", URL yang dikirim bisa terlihat seperti ini:

http://localhost/form01.php?nama=diaz&pwd=diaz&send=Send

dengan metode GET, pada bagian address akan terlihat isi dari inputan kita, sehingga sangat tidak disarankan bila form tersebut berisi inputan untuk Password.

welcome.php
<html>
<head>
</head>
<body>
<?php
$nama = $_GET['nama'];
$pwd = $_GET['pwd'];
echo "Hello <i>$nama</i><br/>";
echo "Password kamu <i>$pwd</i>";
?>
</body>
</html>

Mengapa menggunakan $_GET?
  • Bila menggunakan variabel $_GET semua nama variabel dan nilai-nilai ditampilkan di URL. Jadi metode ini tidak boleh digunakan saat mengirimkan password atau informasi sensitif lainnya! Namun, karena variabel ditampilkan di URL, mungkin untuk dibookmark. Hal ini dapat berguna dalam beberapa kasus.
  • Metode HTTP GET yang tidak sesuai terhadap besar nilai variabel; nilainya tidak dapat melebihi 100 karakter.


$_POST

login.php
<html>
<head>
</head>
<body>
<form action="welcome.php" method="post">
Nama : <input type="textfield" name="nama"><br/>
Password : <input type="password" name="pwd"><br/>
<input type="submit" value="Send" name="send">
</form>
</body>
</html>

Bila user mengklik tombol "Submit", URL tidak akan berisi form data apapun, dan akan terlihat seperti ini:

http://localhost/welcome.php

dapat terlihat jelas bedanya, sehingga pada form untuk pengisian password harus menggunakan metode POST.


welcome.php
<html>
<head>
</head>
<body>
<?php
$nama = $_POST['nama'];
$pwd = $_POST['pwd'];
echo "Hello <i>$nama</i><br/>";
echo "Password kamu <i>$pwd";
?>
</body>
</html>

Mengapa menggunakan $_POST?
  • Variabel dikirim dengan HTTP POST tidak akan ditampilkan pada URL
  • Variabel tidak memiliki batas panjang

Namun, karena variabel-variabel yang tidak ditampilkan pada URL, tidak mungkin untuk bookmark.

$_REQUEST

Sebagai tambahan, $_REQUEST dapat digunakan untuk model pengiriman $_GET ataupun $_POST.
welcome.php
<html>
<head>
</head>
<body>
<?php
$nama = $_REQUEST['nama'];
$pwd = $_REQUEST['pwd'];
echo "Hello <i>$nama</i><br/>";
echo "Password kamu <i>$pwd";
?>
</body>
</html>


OUTPUT :login.php

welcome.php


Kutipan : http://www.duniaenjoy.blogspot.com/

Tidak ada komentar: