只显示已检查的输入

时间:2016-07-30 14:41:38

标签: php html

我知道php,我想知道是否有办法根据检查的名称显示输入,例如我有猫,狗和鱼,如果我选择狗和鱼,我有输入那些动物的名字。

这里是代码,询问你有什么动物,通过检查和提交,它出现在另一页

<body>

<?php 

$check_list[]=isset($_GET["check_list"])?$_GET["check_list"]:"";

if(!empty($_POST['check_list'])) {
    foreach($_POST['check_list'] as $check) {
        echo $check; 
        }
}
?>

<form action="names.php" method="POST">
    <h1>choose the animals you have, and type their names</h1>

<input type="checkbox" name="check_list[]" value="cat">
cat
<br>
<input type="checkbox" name="check_list[]" value="dog" >
dog
<br>
<input type="checkbox" name="check_list[]" value="fish" >
fish
<br>

<input type="submit" value="next">

</form>

这是另一页,显示您选择的动物,在此页面上我想根据检查显示输入

<body>
<?php

    echo '<h3>You have select following animals</h3>';
    foreach ( $_POST ["check_list"] as $animals )
        echo '<p>' . $animals . '</p>';
    ?>

1 个答案:

答案 0 :(得分:1)

所以在你的代码中,

只需将$check_list[]=isset($_GET["check_list"])?$_GET["check_list"]:"";替换为$check_list = isset($_POST["check_list"]) ? $_POST["check_list"] : "";,您就应该做得很好。

此外,您的变量$animals始终携带一只动物,因此应将其命名为animal

和此:

$check_list[]=isset($_GET["check_list"])?$_GET["check_list"]:"";

if(!empty($_POST['check_list'])) {
    foreach($_POST['check_list'] as $check) {
        echo $check; 
        }
}

可以改进为:

$check_list = isset($_GET["check_list"]) ? $_GET["check_list"] : null;

if ($check_list) {
    foreach($check_list as $animal) {
        echo "<p>My animal is: $animal</p>"; 
    }
}

下一步是了解有关用户数据安全检查的更多信息!

恭敬地,祝你学习好运。 PHP很漂亮;)