Belajar PHP untuk PEMULA | 9. GET & POST
Di artikel kali ini kita akan belajar mengenai request method GET dan POST yang digunakan untuk pertukaran data antar halaman pada PHP.. Di artikel ini juga kita akan belajar mengenai SUPERGLOBALS dan VARIABLE SCOPE. Seperti biasa kita buka htdocs,lalu dibagian folder phpdasar dan didalamnya buat folder pertemuan7. Harusnya di pertemuan 5 dan pertemuan 6 kita sudah belejar array. Khusus di pertemuan 6 kita sudah belajar mengenai array assosiative, nah pemahaman array assosiative ini sangat penting untuk bisa memahami yang ada di pertemuan ini, kalau suda dibuat folder pertemuan7 silahkan di buka di code editor milik kalian seperti biasa kita buat file baru beri nama latihan1.php. pembahasan pertama kita tentang variable scope atau lingkup variable misalkan seperti contoh berikut
maka akan di tampilkan kelayar seperti ini
hasilnya ada angka 10 tampil ini artinya membuat variable x yang bisa kita gunakan khusus untuk halaman latihan1.php saja ($x=10)<=itu artinya variable lokal untuk file latihan1.php nah sekarang kalau gini
kan saya sudah menulis varibale x adalah 10 gimana hasilnya.Ternyata hasilnya seperti ini
Ternyata di dalam function tidak mengenali variable x itu apa, itu karena lingkup variable function itu beda dengan diluar function meskipun nama variablenya sama dua variable ini berbeda, karena variable yang kita buat didalam function itu hanya berlaku hanya didalam function saja kalau saya tampilkan seperti ini
kalau saya tampilkan seperti ini
dan hasilnya seperti berikut
kenapa ada 2 nilai, karena 20 adalah nilai dari variable x yang ada didalam function sedangkan 10 variable lokal diluar fanction. nah sekarang gimana caranya saya mengambil variabel x=10 ini caranya seperti ini
nah sekarang harusnya tampilnya 10 seperti ini
kalau kita kasi keyword global maka dia akan cari keluar. Jadi ada variable lokal dan ada variable global.
Dan sekarang kita kembali ketopik kita. kita sudah tahu lingkup variable scope ada variable lokal dan ada variable global. dan sekarang adalagi variable superglobals.
Variable Superglobals adalah variable- variable yang sudah dimiliki oleh php yang bisa kita akses dimanapun dan kapanpun di halaman php kita ada banyak variable superglobals yang dimiliki php seperti berikut
- $_GET
- $_POST
- $_REQUEST
- $_SESSION
- $_COOKIE
- $_SERVER
- $_ENV
Semua Variable Superglobals ini tipenya adalah array assosiativ. Jadi perlakukanlah sebagaimana kalian memerlakukan array assosiativ
Ada 7 variabel yang dimiliki variabel Superglobals yang dimiliki PHP dan semua variabel itu adalah Array asosiatif.
Kenapa banyak?
Karena setiap variabel punya perilaku yang berbeda-beda dan punya cara kerja yang berbeda-beda juga.
coba kita lihat seperti ini
Karena Array Asosiativ itu bisa dicetak menggunakan var_dumb ataupun print_r dan kode saya hanya satu baris saja dan belum pernah membuat variabel $_GET,kalau dijalankan seperti berikut
Ada sebuah array yang isinya kosong,memang kita belum mengisikan apapun didalam array tersebut,tapi minimal kita udah punya variabel array yang kosong.
Itu adalah isi dari $_GET.
Kita coba $_POST seperti ini
dan hasilnya seperti ini
Kosong juga.
Sekarang ada yang sudah ada otomatis yaitu $_SERVER,seperti berikut
hasilnya
Semua ini informasi server kita
Kalau mau tau nama server kalian apa seperti ini
hasilnya
Muncul localhost,yang berarti nama server kalian adalah localhost.
Dan kalian silahkan mengintip apa saja isi dari tiap-tiap variabel Superglobal bisa gunakan $_SERVER.
Meskipun ada 7 variabel yang dimiliki Superglobals,tapi kita hanya akan bahas 4 variabel yaitu
-$_GET
-$_POST
-$_SESSION
-$_COOKIE
Khusus di artikel ini kita akan bahas 2 pertama yaitu $_GET dan $_POST
Kalau kalian lihat judul artikel ini Get&Post itu adalah metode request.
Nah metode get&post dengan $_GET itu berbeda dan nanti kita lihat perbedaannya
Maka otomatis datanya masuk kedalam arraynya,kalau mau tambah lagi tinggal tambahkan $_GET-nya,seperti ini
hasilnya
Ada nama dan umur,itu cara kita memasukkan data ke array asosiatif.
Tapi khusus $_GET ini ada cara lain untuk memasukkan data kedalamnya,caranya gunakan string didalam alamat websitenya.
Kalau saya ingin memasukkan data dalam variabel $_GET ke halaman websitenya,kalian tambahkan diakhir url-nya dengan ?,seperti ini
Jika kalian menemukan tanda tanya disebuah url,itu cara membacanya:
"Sekarang saya akan memasukkan data ke halaman ini"
Itu cara bacanya kalau ada tanda tanya disebuah url.
Kalau saya mau memasukkan data ke halaman ini,gimana?
Ke dalam variabel $_GET
Cara nulisnya bagaimana?
Cara nulisnya kalian bikin pasangan antara key dan valuenya,seperti ini
Datanya masuk kedalam $_GET.
Nah kenapa itu saya sebut setiap variabel perilakunya berbeda-beda?Karena cara mengisinya berbeda-beda
Kalau saya mau menambahkan umur didalam url,gimana?Diakhir string-nya kalian tambahkan tanda &,seperti ini
dan hasilnya
Datanya sudah masuk umur yang isinya 18,jadi seperti itu mengirimkan data menggunakan menggunakan request get dan akan ditangkap oleh variabel Superglobal $_GET.
Nah,kita coba hubungkan kasus kita di artikel sebelumnya yaitu data siswa,ada beberapa siswa dan setiap siswa ada beberapa data.
Kita copy baris 2-13,lalu paste array itu ke pertemuan7 kita.
Jadi kita punya 2 data siswa yang itemnya banyak.
Kalian pasti ingat bahwa data ini bisa ditampilkan menggunakan Foreach,seperti ini
dan hasilnya
Dan lengkapi datanya,seperti ini
Kalau yang belum tau kenapa saya memberi nama sebelum tag php agar hasilnya didepan ada Nama: ,seperti ini
Kalau saya ingin yang tampil hanya nama-nama siswanya,tapi kalau di nama itu bisa diklik dan muncul data data dari siswa tersebut.
Mungkin kalian pernah melihat daftar pertemanan kalian difacebook,itukan hanya ada foto dan nama,tapi kalau diklik namanya kalian akan masuk ke profile lengkapnya.
Kalian bisa gunakan Get,seperti ini
Kenapa <ul>-nya saya taruh luar karena saya ingin mengulang nama siswanya saja.
Dan hasilnya
Nah saya ingin klik nama siswa dan masuk halaman lain dan menampilkan data datanya.
Kita butuh yang sebuah link,link yang membungkus nama siswa ini,seperti ini
hasilnya
Lalu saya klik
Karena kita belum membikin latihan3-nya,maka dari itu kita bikin file baru,seperti ini
Dan kita kembali ke daftar siswa dan klik namanya,hasilnya
Lalu kembali ke daftar siswanya.
Tapi jika kita mencoba mengklik nama Sherly maka hasilnya
akan sama dengan mengklik nama Frederich,kenapa?
Karena di latihan2 data dirinya ditulis manual.
Dengan Get ini kita bisa tau data yang ditampilkan sesuai dengan data yang diklik oleh user dihalaman latihan2,gimana caranya?
Kita harus kirimkan dulu data ke halaman latihan2 menggunakan metode request get,seperti ini
Ini artinya kita akan kirimkan data nama.
Lalu kembali ke daftar siswa dan refresh,lalu kalau saya sorot namanya perhatikan pojok kiri bawah kalian,seperti ini
Dan kalau saya sorot nama Sherly maka muncul Nama=Sherly
Jika munculnya begini,berarti itu sudah benar.
Selajutnya kita akan pindah halaman latihan3.php sambil mengirimkan data nama.
Kalau data sudah dikirmkan,kita perlu menangkap datanya menggunakan Superglobal $_GET,seperti ini
Nama diambil dari mana?diambil dari key data yang dikirimkan,hasilnya
Perhatikan url diatasnya datanya sudah dikirimkan melalui request method get dan ditangkap $_GET.
Itu hanya namanya saja,kalau mau lengkap kita tinggal tambahkan lambang & diakhir phpnya,seperti ini
coba kita cek data siswa sherly
Jadi itulah salah satu cara penggunaan get.
Metode request get adalah metode pengiriman data melalui url dan ditangkap oleh $_GET.
Lalu kita akan mengecek ada tidak data di $_GET,untuk mencegah hacker yang mau masuk kesistem kalian dan kita harus tangani itu,caranya Agar tidak masuk kita tambahkan or dengan lambang ||,seperti ini
Hasilnya kalian akan langsung diarahkan ke halaman utama/latihan1.
Itu adalah penggunaan dari get
Selajutnya kita akan membahas request post.
Request post berbeda dengan request get yang datanya dikirim melalui url sedangkan post datanya dikirim lewat form.
Nah kalian harus mempunyai form dulu sebelum menggunakan request post,walaupun kita menggunakan form kita masih bisa menggunakan request get.
Kelebihan menggunakan post,ketika kita mengirimkan data ke sebuah tempat itu datanya tidak kelihatan dan tidak ada di url-nya dan itu sangat penting ketika kalian gunakan login dan jangan pernah gunakan get.
Kita bikin lagi latihan3.php-nya dan saya ingin mengirimkan data nama kesebuah halaman,caranya kalian mesti punya dulu tag form,Didalam form jangan lupa masukkan input dan dua atribut yaitu type dan name harus ada agar postnya berjalan seperti ini
dan hasilnya
Untuk mengirimkan data kita membutuhkan sebuah tombol
hasilnya
Ketika saya mengetikkan sebuah nama dan memencet tombol kirim,maka data itu akan dikirim kemana.
Nah untuk menentukan datanya dikirim dimana kita butuh atribut didalam form-nya,seperti ini
Artinya saya ingin membuat sebuah form menggunakan metode post dan semua data didalam formnya akan dikirimkan ke halaman latihan4.php .
Kita bikin dulu file latihan4.php-nya
lalu saya memasukkan nama saya
dan hasilnya
Otomatis pindah ke halaman latihan 4.
Data nama saya kemana?data nama saya dikirim kehalaman latihan 4 ini,tapi belum kita pakai.
Nah supaya kita pakai gimana?
Kita ganti kata admin itu dengan nama yang kita inputkan dilatihan 3,seperti ini
hasilnya
Dan seperti kalian lihat di url-nya tidak ada data disitu
Nah sekarang kita akan membuat sistem login paling sederhana supaya kalian bisa membayangkan carannya memakai Post.
Kalian bisa buat folder baru dan beri nama login dan bikin file baru dengan nama login.php dan admin.php.
Kita buat halaman admin dulu,seperti ini
dan hasilnya
Jika kita pencet logout maka hasilnya
Kosong karena kita belum membuat sintaks didalam login.php,maka dari itu kita buat sintaks Supaya html-nya tahu bawa username dengan text-field ada hubungannya,kita harus memberikan penghubungnya.
Seperti ini
hasilnya
Dan jika kalian mengarahkan kursor mouse kalian ditulisan Username maka otomatis text-field akan langsung menyala.
Itu sedikit tips untuk mempermudah user untuk menggunakan aplikasi kalian
Yang kedua adalah password sama seperti username,tapi type-nya jangan text tapi password agar,apa yang kita ketik tidak kelihatan,Nah kalian lihat passoword-nya tidak kelihatan.
Dan yang terakhir kita tambahkan button agar bisa mengirimkan data tersebut,seperti ini
hasilnya
Nah sekarang kita cari cara login-nya benar apa tidak,kalau benar kita pindahkan ke halaman admin,kalau tidak kita diberi tahu bahwa username dan password-nya salah.
Nah username dan password-nya terserah kalian.
Saya memakai username user dan password-nya user123
Komentar
Posting Komentar