【发布时间】:2016-06-10 06:42:35
【问题描述】:
我正忙于学校命令,当您在 2 个不同页面上填写 2 个表单时,我需要在页面上播放显示和文本。
第一页是 kies_merk.html,您必须在其中选择merk(品牌)
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="utf-8" />
<title>Kies merk</title>
</head>
<body>
<h3>Auto selectie (Deel 1 van 3)</h3>
<p>Kies een automerk...</p>
<form name="form" action="kies_type.php" method="get">
<select name="merk">
<option value="Volvo">Volvo</option>
<option value="Peugeot">Peugeot</option>
<option value="Volkswagen">Volkswagen</option>
<option value="Opel">Opel</option>
</select>
<input type="submit" value="ok"/>
</form>
</body>
</html>
第二页是您必须选择汽车类型的地方:
<?php
$formulier = '<p>Welk type wil je bekijken?</p><form name="form2" action="type_informatie.php" method="get"><select name="type"><option value="S40">S40</option><option value="S60">S60</option><option value="C70">C70</option><option value="S80">S80</option></select><input type="hidden" name="Merk" value="Volvo"><input type="submit" value="ok"/></form>'
?>
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="utf-8" />
<title>Kies merk</title>
</head>
<body>
<h3>Auto selectie (Deel 2 van 3)</h3>
<p>Kies een type...</p>
<?php
$merk = ($_GET['merk']);
if ($merk === Volvo) {
echo $formulier;
} else {
echo "<p>Dit merk zit helaas nog niet in het 'systeem'...</p><a href='kies_merk.html'>Maak een andere keuze a.u.b</a>";
}
?>
</body>
</html>
在第三页上是输出,但它出错了。它不显示图像,它只从数组中取出第一个数字。如果我通过浏览器访问图像 URL,它会显示例如/S(甚至不是 .png 扩展名)。我认为 $type = $_GET['type'] 部分出错了,但我不确定。我希望有一个人可以帮助我。 type_informatie.php:
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="utf-8" />
<title>Kies merk</title>
<style>
img {
height: 200px;
width: auto;
}
</style>
</head>
<body>
<h3>Auto selectie (Deel 3 van 3)</h3>
<p>Je koos de volgende auto: <?php echo ($_GET['Merk']) . " " . ($_GET['type']) ?> </p>
<?php
$S40 = array('/S40.png', 'De S40: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut malesuada tincidunt est ut faucibus.');
$S60 = array('/S60.png', 'De S60: Fusce eget quam in purus interdum tincidunt ultricies sit amet velit. Nulla pulvinar cursus malesuada.');
$C70 = array('/C70.png', 'De C70: Aenean aliquam varius eros. Nam dictum, lorem a maximus gravida, odio risus pretium mi, vel convallis neque dui eget nisl. Quisque vestibulum vel lacus id congue.');
$S80 = array('/S80.png', 'De S80: Nullam rutrum metus nec iaculis facilisis. Maecenas vitae hendrerit orci. Nulla sit amet dolor risus. Fusce accumsan augue nec leo congue, nec porta tellus semper.');
$type = $_GET['type'];
echo "<div>" . "<img src='$type[0]' alt='' />" . "</div>";
echo "<p>$type[1]</p>"
?>
</body>
</html>
【问题讨论】:
-
if ($merk === Volvo)- 未定义的沃尔沃常数...php.net/manual/en/function.error-reporting.php - 我会喂你if ($merk === 'Volvo') -
print_r($_GET['type'])看看里面有什么。它可能不是一个数组 -
@Fred-ii- 我认为某些版本的 php 足够聪明,可以假设他的意思是“沃尔沃”,因为表单似乎是为 OP 显示的。仍然很脏,需要修复
-
可能是
$$type[0],然后你引用命名为类型的数组(例如:如果$type = "S80"你得到$S80[0],但我不知道它是否适用于数组(@987654331 @ 将得到$S80))。为什么不设置数组,当你知道 $typeswitch ($type) { case "S40": $myArr = array('/S40.png', 'De S40: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut malesuada tincidunt est ut faucibus.'); break; etc...和echo "<div>" . "<img src='$myArr[0]' alt='' />" . "</div>";