PHP包含/ require方法与不需要的刷新

时间:2016-10-07 01:50:00

标签: javascript php html stored-procedures

这不是关于登录表格或类似的东西。应用程序已运行安全会话。它是关于更新特定数据的内部任务。 作为应用程序的一部分,我使用php include方法创建一个包含另一个php文件的主文件。包含的文件表示包含从许多可能的表单中选择的表单的框架。使用侧边菜单中的锚标记执行选择,使用来自MySQL数据库的js和php动态创建。

//path for mainfile.php: /ThemeDir/SecuredDir/workDir/mainfile.php
mainfile.php
….
<nav class=”side-menu”> 
    <ul>
        <li class=”sub-menu”> <a id=”dir-path” href=”#”></a> 
            <ul>
                <li class=”anchor”>
                    <a href=”#form-name”>
                    <span id=”form-label”>form-label</span></a>
</li></ul></li></ul></nav>
....
<div id="uso"><?php include("../formsDir/mainframe.php"); ?></div>
<div id="hddForm" style="display: none">
    <form id='obrForm' action="" metod = "post" role="form" name="obrForm">
        <input type="text" id="incPath" name="incPath" value="" />
     </form>
 </div>
….
Mainfile.js
$(document).ready(function() {
….
    $(". anchor > a").click(function(e){
        e.preventDefault();
        var fname = $(this).attr('href').replace(/^#+/, '');
        var dir = $(". sub-menu a").attr("id");
        var incPath = dir + "/" + fname + ".php";  //path to form-name.php
        document.getElementById("incPath").value = incPath; // parse data
        submitIfFormComplete()
        function submitIfFormComplete(){ // submiting a form ‘obrForm’
            var tag = document.forms[0].getAttribute("id");
            if (document.getElementById('incPath').value !== ""){
                document.getElementById(tag).submit();
                alert('submited');
            }else{alert('shit submited');}
        }
    });
….
});
//path for mainframe.php: /ThemeDir/SecuredDir/formsDir/mainFrame.php
mainframe.php
<meta charset="utf-8">
….
<div id="inc-div">
    <?php
        If (isset($_GET["incPath"])){
            $incPath = filter_var($_REQUEST["incPath"], FILTER_SANITIZE_FULL_SPECIAL_CHARS);
            include $incPath; //same result w or w/o echo
            //path: /ThemeDir/SecuredDir/formsDir/sub-formsDir/form-name.php
        }else{
            echo "SHIT POST";
        }
    ?>
</div>
….

到目前为止一切顺利。到目前为止,它可以正常工作。调用表单时出现问题,首先看起来应该如此,但是对于一秒钟的分裂消失,以便包含mainframe.php的mainfile.php返回其起始条件。很明显,最后一个过程涉及刷新文件,并且因为大多数主要是动态创建的过程,所以一切都返回到初始状态。我检查了与该部分应用程序相关的所有程序,没有任何影响这个问题。在所有步骤中,我都有一个拦截错误的过程,但没有注册错误。我无法在网络论坛上找到类似或相同的问题。我希望这种行为有一个解决方案,所以任何建议都会对我有所帮助。

0 个答案:

没有答案