我创建了一个HTML表单,询问用户他们使用的营销类型。根据他们的答案,我打算根据这些变化构建一个PHP推荐系统。我已经开始使用基本函数,但它不断返回相同的echo语句,无论我是否选择了所有复选框。这是HTML代码。
<p>Marketing Mix:</p>
<input type="checkbox" name="TV" value="TV">TV<br>
<input type="checkbox" name="Radio" value="Radio">Radio<br>
<input type="checkbox" name="Search" value="Search">Search<br>
<input type="checkbox" name="Mobile" value="Mobile">Mobile<br>
<input type="checkbox" name="Mail" value="Mail">Direct Mail<br>
<br>
这是处理HTML表单的PHP函数。
function adMix () {
$tv = (isset($_POST['TV']));
$radio = (isset($_POST['Radio']));
$search = (isset($_POST['Search']));
$mobile = (isset($_POST['Mobile']));
$mail = (isset($_POST['Mail']));
if ($tv || $radio || $search || $mobile || $mail) {
echo "You are running a comprehensive ad campaign.";
} else {
echo "You can do more to market your dealership.";
}
}
非常感谢任何帮助。我已经尝试过将这六种方法编写为星期日,但是自从我用PHP编写并且无法解决这个问题已经有一段时间了。
答案 0 :(得分:5)
这是一种方法,您不必担心给复选框添加不同的名称,只需检查是否选择了一定数量的复选框。
每个所选选项的值都会自动回复,因为它们已填入foreach
。
旁注: 要选择您希望拥有的数量,请将数字3更改为您想要的数字。
这使用PHP的count()
功能来计算&#34;计数&#34;选择了多少并使用相同的名称作为数组的所有复选框。
您可以更改:(如果等于3或更多)
if(count($_POST['choices']) >= 3)
to:(如果它恰好等于3 )
if(count($_POST['choices']) == 3)
为了获得完全匹配,或将其保留为:
if(count($_POST['choices']) >= 3)
检查是否选择了3个或更多。您可以根据需要更改该数字。
<form action="" method="post">
<p>Marketing Mix:</p>
<input type="checkbox" name="choices[]" value="TV">TV<br>
<input type="checkbox" name="choices[]" value="Radio">Radio<br>
<input type="checkbox" name="choices[]" value="Search">Search<br>
<input type="checkbox" name="choices[]" value="Mobile">Mobile<br>
<input type="checkbox" name="choices[]" value="Mail">Direct Mail<br>
<br>
<input type="submit" name="submit" value="Submit">
</form>
<?php
function adMix () {
if(isset($_POST['submit'])
&& isset($_POST['choices']) ){
echo "You entered ";
foreach($_POST['choices'] as $choice){
echo "<b>" . $choice . "</b> ";
}
if(count($_POST['choices']) >= 3){
echo "You are running a comprehensive ad campaign.";
}
else{
echo "<i>You can do more to market your dealership.</i>";
}
}
}
adMix();
?>
答案 1 :(得分:0)
您需要一个表单和一个按钮来发送您的信息,试试这个:
<form action='' method='POST'>
<p>Marketing Mix:</p>
<input type="checkbox" name="TV" value="TV">TV<br>
<input type="checkbox" name="Radio" value="Radio">Radio<br>
<input type="checkbox" name="Search" value="Search">Search<br>
<input type="checkbox" name="Mobile" value="Mobile">Mobile<br>
<input type="checkbox" name="Mail" value="Mail">Direct Mail<br>
<br>
<input type=submit value='Send' name = 'send'>
</form>
<?php
function adMix () {
$tv = isset($_POST['TV']);
$radio = isset($_POST['Radio']);
$search = isset($_POST['Search']);
$mobile = isset($_POST['Mobile']);
$mail = isset($_POST['Mail']);
if (($tv || $radio || $search || $mobile || $mail)) {
echo "You are running a comprehensive ad campaign.";
} else if (isset($_POST['send'])) {
echo "You can do more to market your dealership.";
}
}
adMix();
?>