【问题标题】:No output after inserting input in PHP在PHP中插入输入后没有输出
【发布时间】: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

标签: php html post


【解决方案1】:

首先您正在访问$_POST['Color']。但是您没有在POST 方法中提交值。所以你需要添加一个表单来提交POST method中的数据。

<form method='post'>

  Color: <input type="text" name="Color"> <br>

</form>

然后,现在函数printHex($_POST['Color']); 只是返回值而不是打印它。所以需要打印出来。

if(isset($_POST['Color'])) 
{ 
    echo printHex($_POST['Color']); 
}

您无需再次定义$chex2。您可以使用global 直接在printHex 函数中访问$chex

完整的代码会像

<!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) {
    global $chex;
    return $chex[$Color];
}

if(isset($_POST['Color'])) 
{ 
    echo printHex($_POST['Color']); 
}


?>

<form method='post'>

  Color: <input type="text" name="Color"> <br>

</form>

</body>
</html> 

【讨论】:

  • 谢谢!这有很大帮助,我现在只是一个小问题。当我在数组中查找一个元素并按 Enter 键时,我得到一个白页...
  • 很抱歉,同样的问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-26
  • 2018-01-06
  • 2016-12-08
  • 2016-04-24
相关资源
最近更新 更多