表单未导航到另一个页面


Form is not navigating to another page

<form id="enter" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post" onsubmit="return validateForm(this);" >
    <p>
        <input id="submitBtn" name="submitDetails" type="submit" value="Submit Details" onClick="myClickHandler(); return false;" />
    </p>
</form> 
<script type="text/javascript">
    function myClickHandler(){
         if(validation()){
                    showConfirm();
         }
    }
</script>
<?php
    session_start();
    $outputDetails = "";
    $outputDetails .= "<table id='sessionDetails' border='1'>
                            <tr>
                                <th>Number of Sessions:</th> 
                                <th>{$_POST['sessionNum']}</th>
                            </tr>";
    $outputDetails .= "</table>";
    echo $outputDetails;
?>

以上是我的表单的代码。我想做的是,如果用户提交表单,那么它将返回到自己的页面。但是,如果"SessionNum"等于"1",那么它不应该将表单发布到自己,而应该发布表单,或者换句话说,导航到"session_marks.php"页面,但它不是idng,如果sessionNum等于1,那么它仍然提交表单或导航回自己的页面,我做错了什么?

另外,假设它显示sessionNum的数字,然后我提交表单,它将表单提交回自身,数字消失,我如何保持向自己提交表单时显示的数字?

谢谢

更改表单帖子目标的条件逻辑在哪里? 我在form标签中看到的只是:

action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>"

这将始终将formaction设置为当前PHP文件,而不是任何其他PHP文件。 如果要有条件地发布到其他文件,则需要在其中添加条件逻辑。 像这样的东西(虽然可能有更好的方法可以做到这一点,但请记住,我对 PHP 非常不熟悉(:

action="<?php $_POST['sessionNum'] == 1 ? echo 'session_marks.php' : echo htmlentities($_SERVER['PHP_SELF']); ?>"

至于数字消失,我没有看到任何名为sessionNum的表单元素。 如果没有这样的表单元素,那么$_POST['sessionNum']中将没有任何内容,因此数字将"消失",因为没有要显示的值。

如果上面是你的实际代码,session_start((; 必须放在任何其他输出(html,php的echo,print等(之前。