Sesi dan Formulir di PHP
Misalkan kita memiliki dua file PHP. Mari kita tempatkan di
file test1.php sebuah formulir yang menanyakan
dua angka kepada pengguna:
<form method="GET">
<input name="num1">
<input name="num2">
<input type="submit">
</form>
Di file yang sama, mari kita tempatkan kode pemrosesan formulir. Dalam kode ini, kita akan mencatat data input ke dalam sesi:
<?php
session_start();
if (!empty($_GET)) {
$_SESSION['num1'] = $_GET['num1'];
$_SESSION['num2'] = $_GET['num2'];
}
?>
Nuansa penting: dalam file, kode pemrosesan formulir harus berada sebelum formulir itu sendiri. Mengapa: karena dalam kode ini kita bekerja dengan sesi, dan berarti tidak boleh ada output apa pun ke layar sebelum ini.
Sekarang mari kita di file test2.php temukan
jumlah angka yang disimpan dalam sesi:
<?php
if (!empty($_SESSION)) {
echo $_SESSION['num1'] + $_SESSION['num2'];
}
?>
Dalam urutan seperti apa semua ini harus
bekerja? Pertama, pengguna masuk ke
halaman test1.php, mengisi formulir
dan menekan tombol. Setelah itu, mereka kembali masuk
ke test1.php, tetapi dengan data
formulir yang telah dikirim.
Saat itulah mereka masuk ke kondisi,
di mana kita menulis data formulir ke dalam sesi.
Kemudian pengguna harus secara manual masuk ke
halaman test2.php - dan di sana mereka akan melihat
jumlah angka yang dimasukkan.
Anda mungkin bertanya: mengapa harus serumit ini? Bukankah
bisa langsung mengirim formulir ke halaman
test2.php? Masalahnya, dalam
kasus ini, kemudahannya terletak pada kenyataan bahwa formulir itu sendiri dan kode
pemrosesannya ditempatkan pada satu halaman yang sama.
Tentu saja, hal seperti ini tidak selalu nyaman, tetapi terkadang
dibutuhkan.
Pada satu halaman, gunakan formulir untuk menanyakan nama belakang, nama depan, dan usia pengguna. Catat data ini dalam sesi. Saat masuk ke halaman lain, tampilkan data ini di layar.