kenapa pada PHP 5 harus menggunakan fungsi $_REQUEST untuk memanggil nilai dari parameter

685 views
Skip to first unread message

Fajar Rahmadhani

unread,
May 24, 2007, 9:03:53 PM5/24/07
to bengkel...@googlegroups.com
asslamualaikum mas aryo, dan temen2 bengkelprogram
mau tanya masalah di PHP versi 5
saya membuat koding pada Page1.php yang dapat link ke Page2.php dengan parameter a yang berisi nilai 12
dimana pada page2.php ditampilkan nilai dari parameter a yang dikirimkan dari page1.php
contoh
Page1.php
<a href="page2.php?a=12">Klik</a>
page2.php
1. <?echo "Nilai = $a"?><br>
2. <?echo "Nilai = ".$_REQUEST['a']?>
yang jadi pertannyaan:
  1. pada PHP versi 5, apakah dalam kasus pemanggilan nilai dari parameter harus menggunakan fungsi $_REQUEST['a'] (dilihat pada page2.php no 2), sedangkan pada PHP Versi 4 hanya menggabungkan variabel dengan string? (dilihat pada Page2.php no 1) jika PHP versi 5 melakukan koding no 1 hasilnya null.
  2. apakah ada cara yang lain dalam memanggil parameter? karena menurut saya pemanggilan dengan menggunakan $_REQUEST[] lebih merepotkan
  3. Sedangkan pada PHPMyAdmin yang saya jalankan pada PHP 5 untuk pemanggilan nilai dari sebuah parameternya tanpa menggunakan fungsi REQUEST, kenapa? apakah saya salah dalam penulisan koding, tapi saya sudah melakukan copy paste koding
  4. Apakah PHP versi 5 dan versi 4 memiliki perbedaan yang sangat jauh?
PHP versi 5 yang saya gunakan bawaan dari XAMPP dan untuk PHP versi 4 dari PHPTriad 2
terima kasih mohon pencerahaannya

Aryo Sanjaya

unread,
May 24, 2007, 9:21:37 PM5/24/07
to bengkel...@googlegroups.com
On 5/25/07, Fajar Rahmadhani <mai...@gmail.com> wrote:
Page1.php
<a href="page2.php?a=12">Klik</a>
page2.php
1. <?echo "Nilai = $a"?><br>
2. <?echo "Nilai = ".$_REQUEST['a']?>
yang jadi pertannyaan:
  1. pada PHP versi 5, apakah dalam kasus pemanggilan nilai dari parameter harus menggunakan fungsi $_REQUEST['a'] (dilihat pada page2.php no 2), sedangkan pada PHP Versi 4 hanya menggabungkan variabel dengan string? (dilihat pada Page2.php no 1) jika PHP versi 5 melakukan koding no 1 hasilnya null.

Sebenarnya itu bukan masalah versi PHP, melainkan konfigurasi PHP, khususnya setting Global Variable.
Lihat di php.ini, lalu cari baris seperti ini:
register_globals = On

Jika On, maka penggunaan $a ataupun $_REQUEST['a'] tidak ada bedanya.
Jika Off, maka penggunaan $a menghasilkan null.

  1. apakah ada cara yang lain dalam memanggil parameter? karena menurut saya pemanggilan dengan menggunakan $_REQUEST[] lebih merepotkan

Lebih merepotkan, tapi lebih aman. Karena kalau langsung menggunakan $a (variabel global On), script tidak dapat membedakan dari mana variabel itu diambil, apakah dari $_GET, $_POST, $_SESSION, $_SERVER, etc, sehingga orang iseng dapat menyisipkan variabel ke script.

Bisa dibuat seperti itu, dengan perintah:
extract($_REQUEST);

maka $_REQUEST['a'] atau $a akan bernilai sama, dalam scope yang sama.


  1. Sedangkan pada PHPMyAdmin yang saya jalankan pada PHP 5 untuk pemanggilan nilai dari sebuah parameternya tanpa menggunakan fungsi REQUEST, kenapa? apakah saya salah dalam penulisan koding, tapi saya sudah melakukan copy paste koding

Kemungkinan phpMyAdmin telah menghandle register global Off, seperti pake extract di atas.
 

  1. Apakah PHP versi 5 dan versi 4 memiliki perbedaan yang sangat jauh?

--
http://www.mahesajenar.com/

Fajar Rahmadhani

unread,
May 24, 2007, 10:03:46 PM5/24/07
to bengkel...@googlegroups.com
wah makasih banyak atas bantuannya

untuk point dibawah ini
  1. Sedangkan pada PHPMyAdmin yang saya jalankan pada PHP 5 untuk pemanggilan nilai dari sebuah parameternya tanpa menggunakan fungsi REQUEST, kenapa? apakah saya salah dalam penulisan koding, tapi saya sudah melakukan copy paste koding
Kemungkinan phpMyAdmin telah menghandle register global Off, seperti pake extract di atas.

di PhpMyAdmin untuk menghandle register global Off nya bagaimana?


hehehe..... :D bahasa daerah, nggak mengerti mas :D
tapi terimakasih banyak untuk referensinya

farhan s

unread,
May 26, 2007, 8:18:26 AM5/26/07
to bengkel...@googlegroups.com
nambahin sedikit, lebih baik tidak menggunakan $_REQUEST. $_REQUEST
adalah gabungan dari $_GET,$_POST, dan $_COOKIE (kalo tidak salah).
pada banyak kasus akan tetap menimbulkan pertanyaan "variabel ini dari
mana".

lebih baik gunakan $_GET untuk membaca querystring (variabel yang
dilewatkan pada url)

Fajar Rahmadhani

unread,
May 27, 2007, 9:14:33 PM5/27/07
to bengkel...@googlegroups.com
On 5/25/07, Aryo Sanjaya <ar...@aryosanjaya.net> wrote:
Sebenarnya itu bukan masalah versi PHP, melainkan konfigurasi PHP, khususnya setting Global Variable.
Lihat di php.ini, lalu cari baris seperti ini:
register_globals = On

Saya udah coba cara di atas, cuman masih memerlukan fungsi $_REQUEST tuh
salahnya dimana mas??

sebagai info saya pake paketan dari XAMPP

Soesapto Joeni Hantoro

unread,
May 27, 2007, 9:22:00 PM5/27/07
to bengkel...@googlegroups.com
Udah restart apache-nya,
cek yang pake phpinfo();
apa bener udah register_global = On

Aku juga pake Xampp,
O iya, yang diubah file php.ini yang ada di folder xampp/apache/bin lho
bukan yang di xampp/php

Fajar Rahmadhani

unread,
May 27, 2007, 9:38:35 PM5/27/07
to bengkel...@googlegroups.com
ooooo yang diubah di "xampp/apache/bin"
terakhir yang saya ubah di PHP
oke saya coba lagi, makasih mas

Fajar Rahmadhani

unread,
May 27, 2007, 11:47:04 PM5/27/07
to bengkel...@googlegroups.com
sip..sip.. udah dapet masalahnya
makasih All
Reply all
Reply to author
Forward
0 new messages