【发布时间】:2020-03-26 16:58:45
【问题描述】:
我用颜色和十六进制创建了这个文件,然后我把它们放在一个数组中并打印出来。现在我想将用户插入的输入中颜色的十六进制作为输出。例如,如果用户写“Black”,我希望得到“#000000”。这是我的尝试:
<!DOCTYPE html>
<html>
<body>
<?php
$chex = array("Black" => "#000000", "White" => "#FFFFFF", "Grey" => "#808080", "Dark Grey" => "#2F2F2F", "Ivory" => "#FFFFF0");
foreach($chex as $x => $x_value) {
echo "Color = " . $x . ", Hex = " . $x_value;
echo "<br>";
}
function printHex($Color) {
$chex2 = array("Black" => "#000000", "White" => "#FFFFFF", "Grey" => "#808080", "Dark Grey" => "#2F2F2F", "Ivory" => "#FFFFF0");
return $chex2[$Color];
}
if(isset($_POST['Color']))
{
printHex($_POST['Color']);
}
?>
Color: <input type="text" name="Color"> <br>
</body>
</html>
【问题讨论】:
-
printHex()只返回值,因此您可能需要执行echo printHex($_POST['Color']);之类的操作。 -
是的,我已经尝试过这样做,但没有任何改变
-
您需要围绕输入创建一个表单元素并将其方法设置为发布。我怀疑您将值传递给 $_GET 而不是 $_POST