gpt4 book ai didi

php - 提取中间有空格的html表单选项值

转载 作者:可可西里 更新时间:2023-11-01 00:06:39 24 4
gpt4 key购买 nike

从另一个 PHP 脚本中提取嵌入在 php 脚本中的 html 下拉列表的选定选项时,我遇到了一个奇怪的问题。如果选项值的话用空格隔开。 PHP 仅回显所选选项值的第一个单词。我在这里做错了什么?

list.php

<body>
<form action="extract.php" method="post">
<?php


$one = "one one";
$two = "two two";
$three = "three three";

echo '<select name="selected_item">';
echo '<option value='.$one.'>'.$one.'</option>';
echo '<option value='.$two.'>'.$two.'</option>';
echo '<option value='.$three.'>'.$three.'</option>';
echo '</select>';


?>
<input type="submit" class="button" value="submit" name="submit" />

</form>
</body>
</html>



extract.php

<?php

if (isset($_POST['submit'])) {

$item_name = $_POST['selected_item'];
echo $item_name;

}else{
echo "item not selected";
}

?>

如果我在列表中选择“三三”,PHP 只会回显“三”。这是为什么?

最佳答案

这是因为你没有引用你的 HTML 属性。当您拥有此代码时:

$three = "three three";
echo '<option value='.$three.'>'.$three.'</option>';

这将以 HTML 格式出现:

<option value=three three>three three</option>

PHP 字符串引号在输出中消失了。并且只有前三个会成为属性值。另一个只会拖尾垃圾。

你需要更好的 echo :

echo '<option value="'.$three.'">'.$three.'</option>';

更好的可能是 HEREDOC string在这种情况下。并且不要忘记用于非静态内容的 htmlspecialchars()

关于php - 提取中间有空格的html表单选项值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8193093/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com