Menetapkan Atribut Nilai HTML dengan Ruang dalam PHP
Apabila menetapkan nilai elemen input bentuk HTML menggunakan PHP, ruang dalam data boleh menyebabkan isu.
Coretan kod biasa kelihatan seperti ini:
<input type="text" name="username" <?php echo (isset($_POST['username'])) ? "value = ".$_POST["username"] : "value = \"\""; ?> />
Walau bagaimanapun, jika nama pengguna mengandungi ruang, hanya perkataan pertama dipaparkan apabila borang diserahkan. Isunya ialah ruang dalam atribut nilai menjadi pemisah atribut.
Untuk menyelesaikan masalah ini, anda perlu memetik nilai:
<input value="<?php echo (isset($_POST['username']) ? htmlspecialchars($_POST['username']) : ''); ?>" />
Ini memastikan ruang itu dianggap sebagai sebahagian daripada nilai dan bukan sebagai pemisah atribut. Selain itu, menggunakan htmlspecialchars() membantu menghalang serangan XSS dengan melarikan diri daripada sebarang aksara khas.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Ruang dengan Betul dalam Atribut Nilai HTML Ditetapkan dengan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!