简体   繁体   English

如果我符合php中的条件,如何在同一页面上显示结果?

[英]How do I display result on the same page if I meet condition in php?

I want to display a checkbox on the same page if the second option is chosen, could you help me with the code please. 如果选择了第二个选项,我想在同一页面上显示一个复选框,请您帮我提供代码。

Here is my current code: 这是我当前的代码:

<form action="form1.php" method="post">
<?php

$company = array (1 => 'One', 'Two', 'Three');
echo '<fieldset>
<select name="companys">';
foreach ($company as $key => $value) {
    echo "<option value=\"$key\">$value</option>\n";
}
echo '</select>';
if ($company == 2) {
    echo'<p><input type="checkbox" name="tandc" value="terms" />I accept the terms and conditions
    </p>';
} else {
    echo 'OK';
};
echo '</fieldset>';
?>
</form>

Assuming you post the form somewhere, and the current page is form1.php. 假设您将表单发布到某个地方,当前页面是form1.php。

<form action="form1.php" method="post">
<?php

$company = array(1 => 'One', 2 => 'Two', 3 => 'Three');
echo '<fieldset>
    <select name="companys">';

        foreach ($company as $key => $value) {
            echo "<option value=\"$key\">$value</option>\n";
        }

echo '</select>';

if (isset($_POST['companys']) && $_POST['companys'] == 2) {
    echo'<p><input type="checkbox" name="tandc" value="terms" />I accept the terms and conditions</p>';
} else {
    echo 'OK';
}

echo '</fieldset>';

?>
</form>
***if ($company == 2) {***

$company is defined as array but you have mentioned as string. $ company被定义为数组,但是您已经提到了字符串。 please check. 请检查。

Try this: 尝试这个:

<form action="#" method="post">
<?php

$company = array (1 => 'One', 'Two', 'Three');
echo '<fieldset>
<select name="companys">';
foreach ($company as $key => $value) {
    echo "<option value=\"$key\" onclick='this.form.submit()'>$value</option>\n";
}
echo '</select>';
if ($_POST['companys'] == 2) {
    echo'<p><input type="checkbox" name="tandc" value="terms" onclick="this.form.submit()"/>I accept the terms and conditions
 </p>';
} else {
    echo 'OK';
};
echo '</fieldset>';
?>
</form>

You do not need to submit form to just show an element if dropdown value matches condition you can simply use javascript function to make it possible see example code below 如果下拉值匹配条件,则无需提交表单即可显示元素,只需使用javascript函数即可,请参见下面的示例代码

<form action="form1.php" method="post">
    <?php

    $company = array(1 => 'One', 2 => 'Two', 3 => 'Three');
    echo '<fieldset>
        <select name="companys" onchange="check_option(this.value);">';

            foreach ($company as $key => $value) {
                echo "<option value=\"$key\">$value</option>\n";
            }

    echo '</select>';


    echo'<p><input type="checkbox" id="terms" name="tandc" value="terms"  style="display:none;"/>I accept the terms and conditions</p>';


    echo '</fieldset>';

    ?>
    </form>
    <script>
        function check_option(val)
        {
            if(val=='Two')
            {
                document.getElementById('terms').style.display='block';
            }
        }
    </script>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM