Php-Post方法未在空格字符后传递字符串



我在提交表单后使用POST方法时遇到问题。提交表单后它没有传递完整的字符串,但它在"选择""选项";html。

在数据库中,我有一个名为";管理员";其中一列称为";id";另一个被称为";管理员":id:1管理员:";Alejandro Salgado";

这是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";正确:

html结果

但是当我提交表单和var_dump($_POST["administrador"](时,它只返回名字";Alejandro":

string(9) "Alejandro"

发生了什么事?

要包含用空格分隔的字符,您需要用引号(在您的情况下是双引号(将数据括起来

因此,请更改

echo '<option value='.$row["administrador"].'>'.$row["administrador"].'</option>';

echo '<option value="'.$row["administrador"].'">'.$row["administrador"].'</option>';

最新更新