> Kepada rekan-rekan linuxer yang baik..... > > Saya mencoba menjalankan php dengan ketikan seperti ini > > > <!doctype html public "-//W3C//DTD HTML 4.0 file://EN"> > <html> > <head> > <title>Nama File input.php</title> > </head> > <body> > > <form action="salam.php" method="post"> > Silahkan masukkan nama anda:<BR> > <input type="text" NAME=nama_pemakai><BR> > <input type="submit" VALUE="Kirim"> > </form> > </body> > </html> > > <!doctype html public "-//W3C//DTD HTML 4.0 file://EN"> > <html> > <head> > <title>Nama File salam.php</title> > </head> > <body> > <?php > print("Selamat belajar PHP, <B>$nama_pemakai</b>"); > ?> > </body> > </html> > > Saya sudah coba jalankan file tersebut di: > Slackware 9.0 dan di Redhat 9.0 > Ternyata tidak berjalan dengan baik sebab variable nama_pemakai tidak > diteruskan. yang keluar hanya: > Selamat belajar PHP, > > Tapi kalau file tersebut saya jalankan di: > Mandrake 9.2 dan PHP triad 2_2.1 di windows 98 > program PHP tersebut berjalan dengan baik sesudah saya submit. > misalnya nama_pemakai saya input bambang maka keluar > Selamat belajar PHP, bambang > > Kenapa hal ini dapat terjadi? apa konfigurasi Apache & PHP di tiap distro > berbeda? > Gimana cara mengatasinya? Apa yang harus dirubah adalah sintax penulisan > phpnya? > > Saya mencari di google sampai sekarang belum dapat. > Aneh, kalau search di google kenapa juga yang banyak keluar bahasa apa > gitu.... bukannya bahasa Inggris atau bahasa Indonesia > > salam, > > newbie.
halo p-man... hal ini bisa diatasi dengan mengaktifkan option register_global (register_global = on) di php.ini file. Tetapi ada catatan dari sang developer untuk tidak mengaktifkan option ini. catatan dari developer php: "- register_globals = Off [Security, Performance] Global variables are no longer registered for input data (POST, GET, cookies, environment and other server variables). Instead of using $foo, you must use you can use $_REQUEST["foo"] (includes any variable that arrives through the request, namely, POST, GET and cookie variables), or use one of the specific $_GET["foo"], $_POST["foo"], $_COOKIE["foo"] or $_FILES["foo"], depending on where the input originates. Also, you can look at the import_request_variables() function. Note that register_globals is going to be depracated (i.e., turned off by default) in the next version of PHP, because it often leads to security bugs. Read http://php.net/manual/en/security.registerglobals.php for further information." dan "You should do your best to write your scripts so that they do not require register_globals to be on; Using form variables as globals can easily lead to possible security problems, if the code is not very well thought of." solusinya adalah dengan menambahkan baris berikut ini diawal skrip yang dibuat: include("./db_mysql.inc"); if (!ini_get("register_globals")) { import_request_variables('GPC'); } atau dengan menggunakan : $_POST['nama_pemakai'] untuk mengambil nilai variabel nama_pemakai yang ada di form tersebut. semoga dapat membantu dan cmiiw. salam, oeban poetih. -- Unsubscribe: kirim email kosong ke [EMAIL PROTECTED] Arsip dan info di http://linux.or.id/milis.php FAQ milis http://linux.or.id/faq.php