提交表单后,我在使用 POST 方法时遇到问题。提交表单后,它没有传递完整的字符串,但它在“select”和“option”html中正确显示。
在数据库中,我有一个名为“administradores”的表,其中有一列名为“id”,其他列名为“administrador”: 编号:1 管理员:“亚历杭德罗·萨尔加多”
这是 php 代码:
function listAdministradores(){
global $conn;
$result = $conn->query("SELECT * FROM administradores");
while($row = $result->fetch_assoc()){
echo '<option value='.$row["administrador"].'>'.$row["administrador"].'</option>';
}
}
这是html代码:
<form action="./includes/crearpropuesta.inc.php" method="post">
<label for="administrador" class="form-label pt-3">Administrador:</label>
<select name="administrador" id="administrador" class="form-select">
<?php listAdministradores() ?>
</select>
它正确显示了名字“Alejandro Salgado”:
但是当我提交表单和 var_dump($_POST["administrador"]) 时,它仅返回名字“Alejandro”:
string(9) "Alejandro"
这是怎么回事?
最佳答案
要包含由空格分隔的字符,您需要用引号将数据括起来(在您的情况下为双引号)
因此,请更改
echo '<option value='.$row["administrador"].'>'.$row["administrador"].'</option>';
至
echo '<option value="'.$row["administrador"].'">'.$row["administrador"].'</option>';
关于Php Post 方法不在空格字符后传递字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73676470/