Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 尝试使用POST调用另一个PHP页面_Javascript_Php_Html_Post - Fatal编程技术网

Javascript 尝试使用POST调用另一个PHP页面

Javascript 尝试使用POST调用另一个PHP页面,javascript,php,html,post,Javascript,Php,Html,Post,我试图从另一个PHP页面(RumpUserAdministration.PHP)调用一个PHP页面(ModifyUsers.PHP)。我试图将其作为一个单独的页面,而不是作为用户管理页面的一个子部分来调用,并使用POST将值userID从RumpUserAdministration.php传递到ModifyUsers.php 我添加了alert语句,表明userID存储在调用修改用户页面之前的隐藏id字段中,因此可用于发布,但不会传输到修改用户页面 我还添加了alert语句,指示在页面执行的这些

我试图从另一个PHP页面(
RumpUserAdministration.PHP
)调用一个PHP页面(
ModifyUsers.PHP
)。我试图将其作为一个单独的页面,而不是作为用户管理页面的一个子部分来调用,并使用POST将值
userID
RumpUserAdministration.php
传递到
ModifyUsers.php

我添加了
alert
语句,表明
userID
存储在调用修改用户页面之前的
隐藏id字段中,因此可用于发布,但不会传输到修改用户页面

我还添加了
alert
语句,指示在页面执行的这些点上正在使用哪个服务器请求方法。我页面上的其他按钮同样需要调用其他页面

我的问题是:如何使用POST调用我的修改用户页面,以便使用POST传递我的价值

我能够同时使用GET和会话变量,但是这个特定场景集中在GET之后,并且不使用会话变量

我已经就这个问题咨询了我的同学和所有的讲师,并在20多个不同的网站和多次搜索中寻找解决方案。提出的“解决方案”没有一个被证明是有效的——人们现在和我一样困惑,网页使用的方法只适用于更新源页面,而不是调用一个新的或完全错误的方法

以下是我用于解决此问题的文件

RumpUserAdministration.php

<!DOCTYPE html>

<html>
    <head>
        <meta name    = "viewport"
              content = "width=device-width, initial-scale=1.0"
        >

        <meta charset = "utf-8">

        <link href = "CSS/RumpIntranetProject.css"
              rel  = "stylesheet"
              type = "text/css"
        >
    </head>

    <body>
<?php
        echo "<script>alert( \"" . $_SERVER[ "REQUEST_METHOD" ] . "\" )</script>";
?>
        <form id     = "entire-page"
              action = "RumpUserAdministration.php"
              method = "post"
        >
            <div id = "user-name-list-section">
                <div id = "user-name-list">
                    <div id      = "ID15"
                         class   = "list-item row"
                         name    = "ID15"
                         onclick = "userNameListItemClicked( '15' )"
                    >
                        SAMPLE USER 001
                    </div>

                    <div id      = "ID16"
                         class   = "list-item row"
                         name    = "ID16"
                         onclick = "userNameListItemClicked( '16' )"
                    >
                        SAMPLE USER 002
                    </div>
                </div>
            </div>

            <input id      = "user-administration-button-delete"
                   name    = "delete-submit"
                   onclick = "loadDeleteUsers()"
                   type    = "submit"
                   value   = "Delete"
            >

            <input id      = "user-administration-button-modify"
                   name    = "modify-submit"
                   onclick = "loadModifyUsers()"
                   type    = "submit"
                   value   = "Modify"
            >

            <input id    = 'hidden-id-field'
                   name  = 'userID'
                   type  = 'hidden'
                   value = ''
            >
        </form>

        <?php
            if ( $_SERVER[ "REQUEST_METHOD" ] == "POST" )
            {
                if ( isset( $_POST[ 'modify-submit' ] ) )
                {
                    echo "<script>document.getElementById( 'hidden-id-field' ).value = \"" . $_POST[ 'userID' ] . "\"</script>";
                    echo "<script>alert( \"hidden-id-field (userID) : \" + document.getElementById( 'hidden-id-field' ).value )</script>";
                    echo "<script>alert( \"" . $_SERVER[ "REQUEST_METHOD" ] . "\" )</script>";
                    echo '<script>window.location = "ModifyUsers.php"</script>';
                }
                else
                {
                    echo "<script>alert( 'Unexpected Administration POST encountered.' )</script>";
                }
            }
        ?>

        <script>
            var existingSelection = null;

            function loadModifyUsers()
            {
                document.getElementById( 'hidden-id-field' ).value = existingSelection;
                alert( "Presubmit" );
                document.getElementById( 'entire-page' ).submit;
            }

            function userNameListItemClicked( userID )
            {
                existingSelection = 'ID' + userID;

                document.getElementById( "user-administration-button-modify" ).style.cursor = "pointer";
                document.getElementById( "user-administration-button-modify" ).disabled = false;
            }
        </script>
    </body>
</html>

我不确定这个问题是否是由于遗漏了
include
、打字错误、错误的命令或其他原因造成的,我无法说出故障所在。因此,为了完整性,我必须包含每个简化文件的全部内容。我正在研究“极小”的定义:)

看起来您正在使用JavaScript更改页面:

echo '<script>window.location = "ModifyUsers.php"</script>';
echo'window.location=“ModifyUsers.php”;
您在这里所做的是加载
ModifyUsers.php
,但是[因为这是一个GET]无法通过POST传递任何内容


相反,您需要做的是将表单的
操作更改为转到
ModifyUsers.php
:这样您的帖子数据就会传递到正确的页面。

这是我刚刚开发的一个答案。如果有其他方式回答这个问题,那么请发布它们

我已经将每个提交按钮放在它自己的表单中,包括每个表单中的一个隐藏字段

这些按钮中的每一个都成功地调用了它的形式,而不是其他形式

以下是我使用的RumpUserAdministration.php的修改版本(ModifyUsers.php和RumpIntranetProject.css在问题中保持不变)


样本用户001
样本用户002
var existingSelection=null;
函数loadDeleteUsers()
{
document.getElementById('hidden id field delete')。value=existingSelection;
}
函数loadModifyUsers()
{
document.getElementById('hidden id field modify')。value=existingSelection;
}
函数userNameListItemClicked(userID)
{
existingSelection='ID'+userID;
document.getElementById(“用户管理按钮修改”).style.cursor=“指针”;
document.getElementById(“用户管理按钮修改”).disabled=false;
}

有两条建议:(1)简化这堵代码墙并生成一个新代码;(2)不要在PHP文件名中使用空格,这样可以省去很多麻烦。删除空格-没有效果。更多内容请关注。感谢您的链接,Ed Cottrell。我一直在寻找这份文件。我已经编辑了这份文件,希望它更易于管理。请随时提出任何改进建议或提出任何问题。谢谢您的回答。如果Modify Users是从单键表单调用的唯一页面,则这是很好的。但是我的完整用户管理页面为用户提供了其他选项,例如允许他们调用删除用户页面。如何仅当用户单击“修改”按钮(并使用POST传递值)时才调用“修改用户”页面?请注意:我已经更新了我的问题,以反映问题的这一方面。
html,
*
{
    border      : 0;
    box-sizing  : border-box;
    margin      : 0;
    padding     : 0;
}

.list-item
{
    display : block;
}

.list-item:hover
{
    background-color : #00ffff;
}

.row:after
{
    clear   : both;
    content : "";
    display : block;
}

#user-name-list
{
    border       : 1px;
    border-color : black;
    border-style : solid;
    overflow-y   : scroll;
    width        : 300px;
}
echo '<script>window.location = "ModifyUsers.php"</script>';
<!DOCTYPE html>

<html>
    <head>
        <meta name    = "viewport"
              content = "width=device-width, initial-scale=1.0"
        >

        <meta charset = "utf-8">

        <link href = "CSS/RumpIntranetProject.css"
              rel  = "stylesheet"
              type = "text/css"
        >
    </head>

    <body>
<?php
        echo "<script>alert( \"" . $_SERVER[ "REQUEST_METHOD" ] . "\" )</script>";
?>
        <div id = "user-name-list-section">
            <div id = "user-name-list">
                <div id      = "ID15"
                     class   = "list-item row"
                     name    = "ID15"
                     onclick = "userNameListItemClicked( '15' )"
                >
                    SAMPLE USER 001
                </div>

                <div id      = "ID16"
                     class   = "list-item row"
                     name    = "ID16"
                     onclick = "userNameListItemClicked( '16' )"
                >
                    SAMPLE USER 002
                </div>
            </div>
        </div>

        <form id     = "form-delete"
              action = "Index.php"
              method = "post"
        >
            <input id    = 'hidden-id-field-delete'
                   name  = 'userID'
                   type  = 'hidden'
                   value = ''
            >
            <input id      = "user-administration-button-delete"
                   name    = "delete-submit"
                   onclick = "loadDeleteUsers()"
                   type    = "submit"
                   value   = "Delete"
            >
        </form>

        <form id     = "form-modify"
              action = "ModifyUsers.php"
              method = "post"
        >
            <input id    = 'hidden-id-field-modify'
                   name  = 'userID'
                   type  = 'hidden'
                   value = ''
            >

            <input id      = "user-administration-button-modify"
                   name    = "modify-submit"
                   onclick = "loadModifyUsers()"
                   type    = "submit"
                   value   = "Modify"
            >
        </form>

        <script>
            var existingSelection = null;

            function loadDeleteUsers()
            {
                document.getElementById( 'hidden-id-field-delete' ).value = existingSelection;
            }

            function loadModifyUsers()
            {
                document.getElementById( 'hidden-id-field-modify' ).value = existingSelection;
            }

            function userNameListItemClicked( userID )
            {
                existingSelection = 'ID' + userID;

                document.getElementById( "user-administration-button-modify" ).style.cursor = "pointer";
                document.getElementById( "user-administration-button-modify" ).disabled = false;
            }
        </script>
    </body>
</html>