如何在屏幕上显示输入的php?

时间:2019-03-07 13:52:14

标签: php arrays forms foreach colors

我必须进行作业,其中必须处理以下事情: 创建一个数组“颜色”,并用10个颜色名称填充它。 创建一个脚本,以在表中显示数组的内容。 创建一个脚本,测试输入的颜色是否存在于颜色数组中,并返回是否存在。我现在的问题是我不知道如何在输入中返回正确的答案。这是我的代码:

<?php
// different colors:
$color = array(
    '#99ed5c' => 'green',
    '#9c9991' => 'grey',
    '#17ffb6' => 'blue',
    '#a21647' => 'purple',
    '#fbd8c1' => 'light-pink',
    '#1f33a3' => 'dark-blue',
    '#7e0509' => 'red',
    '#f7d856' => 'yellow',
    '#3b0b1b' => 'violet',
    '#de4405' => 'orange'
);

function build_table($color){
    // start table
    $html = '<table>';

    // header row
    $html .= '<tr>';
    foreach($color as $key=>$value){
        $html .= '<th>' . htmlspecialchars($key) . '</th>';
    }
    $html .= '</tr>';

    // data rows
    foreach( $color as $key=>$value) {
        $html .= '<tr>';
        $html .= '<td>' . htmlspecialchars($key) . '</td>';
        $html .= '<td>' . htmlspecialchars($value) . '</td>';
        $html .= '</tr>';
    }

    // finish table and return it

    $html .= '</table>';
    return $html;
}

echo build_table($color);



echo "fill in a color: <input type='text' name='kleur'>";
echo "<input type='submit'> <br>";



if (in_array("green", $color))
{
    echo "Match found";
}
else
{
    echo "Match not found";
}

2 个答案:

答案 0 :(得分:0)

您完全正确。

为了处理用户输入,您将需要使用表单处理。从客户端到服务器端Read more info here提交。

因此,您需要执行以下操作:

<?php
// different colors:
$color = array(
    '#99ed5c' => 'green',
    '#9c9991' => 'grey',
    '#17ffb6' => 'blue',
    '#a21647' => 'purple',
    '#fbd8c1' => 'light-pink',
    '#1f33a3' => 'dark-blue',
    '#7e0509' => 'red',
    '#f7d856' => 'yellow',
    '#3b0b1b' => 'violet',
    '#de4405' => 'orange'
);

function build_table($color)
{
    // start table
    $html = '<table>';

    // header row
    $html .= '<tr>';
    foreach ($color as $key => $value) {
        $html .= '<th>' . htmlspecialchars($key) . '</th>';
    }
    $html .= '</tr>';

    // data rows
    foreach ($color as $key => $value) {
        $html .= '<tr>';
        $html .= '<td>' . htmlspecialchars($key) . '</td>';
        $html .= '<td>' . htmlspecialchars($value) . '</td>';
        $html .= '</tr>';
    }

    // finish table and return it

    $html .= '</table>';
    return $html;
}

echo build_table($color);
?>


    fill in a color:
    <form method="post" action="">
    <input type='text' name='kleur'>
    <input type='submit' name='submit'> <br>
    </form>

<?php
if (isset($_POST['submit'])) {
    if (empty($_POST['kleur'])) {
        echo "You left the color input blank.";
    } else {
        $inputColor = $_POST['kleur'];
        if (in_array($inputColor, $color)) {
            echo "Match found";
        } else {
            echo "Match not found";
        }
    }
}
?>

请注意,您可以关闭PHP标记以正常打印HTML,而无需回显。

答案 1 :(得分:0)

要设置输入的值,只需设置value参数,如下所示:

<input type='text' name='kleur' value='<?= $value ?>'>

或者您的情况

echo "fill in a color: <input type='text' name='kleur' value='" . $color . "'>";