Menetapkan Atribut Nilai HTML dengan Ruang
Apabila cuba menetapkan nilai elemen input HTML menggunakan PHP dengan data yang mengandungi ruang, ia mungkin diperhatikan bahawa hanya sebahagian daripada data yang dipaparkan. Untuk menyelesaikan masalah ini, adalah penting untuk memetik nilai untuk mengelakkan ruang daripada menjadi pemisah atribut.
Kod Asal:
<input type="text" name="username" <?php echo (isset($_POST['username'])) ? "value = ".$_POST["username"] : "value = \"\""; ?> />
Salah Output:
<input value=Big Ted>
Penjelasan:
Ruang dalam "Big Ted" menyebabkan data berikutnya ditafsirkan sebagai atribut yang berasingan, menghasilkan hanya " Makhluk besar". dipaparkan.
Penyelesaian:
Untuk memastikan nilai dengan ruang diberikan dengan betul, ia mesti disertakan dalam tanda petikan:
<input value="<?php echo (isset($_POST['username']) ? htmlspecialchars($_POST['username']) : ''); ?>">
Dikemas kini Output:
<input value="Big Ted">
Langkah Berjaga-jaga Tambahan:
Fungsi htmlspecialchars() disyorkan untuk menghalang serangan XSS dengan melarikan diri daripada sebarang aksara khas dalam nama pengguna.
Atas ialah kandungan terperinci Bagaimana untuk Tetapkan Nilai Input HTML dengan Ruang Menggunakan PHP dengan Betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!