我必须进行作业,其中必须处理以下事情: 创建一个数组“颜色”,并用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";
}
答案 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 . "'>";