我已经运行了一个与 html 页面交互的成功的 php 页面。但是,有一次在最后的实例中 php 没有按预期进行交互。
我遇到的问题是,无论选择什么颜色,或者根本没有选择任何颜色,页面总是执行“安德鲁讨厌你”。我只希望这条消息显示用户是否选择了“RED”。我希望消息“安德鲁喜欢你”显示是否选择了“绿色”、“黄色”、“蓝色”或“紫色”。
HTML页面:
<html>
<head>
<title>Test</title><br />
</head>
<body>
<form action="website.php" method="POST">
<p><strong>Name:</strong></br>
<input type="text" name="user"/></p>
<p><strong>Age:</strong><br/>
<input type="text" name="age"/></p>
<p><strong>What's your favourite colour?</strong><br/><br>
<select name="colour[]" multiple="multiple">
<option value="Green">Green</option>
<option value="Blue">Blue</option>
<option value="Red">Red</option>
<option value="Yellow">Yellow</option>
<option value="Purple">Purple</option>
</select>
<p><input type="submit" value="Submit"/></p>
</form>
</body>
</html>
PHP页面:
//the first part of this php page works perfectly
<?php
echo "<p>Hi <b>". $_POST["user"]."!</p>";
echo "<p>You are <b>".$_POST["age"]."</b><p>";
echo "<p> Your favourite colour is: <br/>";
if (!empty($_POST["colour"])) {
echo "<ul>";
foreach ($_POST ["colour"] as $value) {
echo "<li>$value</li>";
}
echo "</ul>";
}
?>
//this is where things start to break down
<?php
$funny_colour = "Red";
if ($_POST["$value"] = $funny_colour) {
$message = "Andrew hates you"; // Always shows no matter what
echo $message;
} else if ($_POST["$value"] != $funny_colour) {
$message = "Andrew likes you"; // Never shows
echo $message;
}
?>
感谢您的帮助,我真的很感激,并将努力回答您的一些问题。