如何将值 POST 到两个不同的 PHP 页面

我已经使用 PHP 和 MySQL 创建了一个登录页面,当我登录时,它将用户登录详细信息 POST 到 LoginCheck.php 页面,在该页面中它会检查这些值与数据库中的值,如果它们不匹配,则用户返回到 login.php 页面,但如果它们是正确的,它们将被带到 home.php 页面。我现在希望能够在 home.php 页面上再次访问这些登录详细信息,但我找不到通过两个页面或两个不同页面发布信息的方法?当我尝试调用它们时,POST 值在 home.php 页面上显示为空白。


下面是我如何通过 HTML 将用户登录详细信息发布到 LoginCheck.php 页面的代码,


<form method ="POST" action="LoginCheck.php">


<div class="form-input">


    <b> User Name <b><br />

    <input type="text" name="user" id="user" />

    <br />


    <b> Password <b><br />

    <input type="text" name="password" id="password" />

    <br />


<input type="submit" type="submit" value="Login" class="btn-login"/>

我也试过 AJAX 来传递这个值,但它也返回同样的错误


<script type ="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

<script type ="text/javascript">


    $(document).ready(function(){


        $('#submit').click(function(){

            alert("is working");

            var user = $('#user').val();

            var password = $('#password').val();


            var userData = 'user=' + user + '&password=' + password;            

            $.ajax({

                type: "POST",

                url:'home.php',

                data: userData,

                success: function(){

                    alert("has passed data");

                }

        });


    });

});


</script>

理想情况下,我希望在加载时从 LoginCheck 页面 POST 值,因为该页面仅对用户可见几秒钟。


我收到错误:注意:未定义索引:用户和注意:未定义索引:密码当我通过 Home.php 中的 POST 调用它们时


POPMUISE
浏览 332回答 2
2回答

米琪卡哇伊

我同意 GrumpyCrouton 的评论。发布到一个以上的页面是很难环绕我的头。.&nbsp;.&nbsp;用户的浏览器会一分为二吗?另一种方法是 POST 到您的 LoginCheck.php,然后该页面会将 $_POST 数据保存到一个或多个 $_SESSION 值中,以便后续页面使用它们。if&nbsp;($authenticated)&nbsp;$_SESSION['user']&nbsp;=&nbsp;$_POST['user'];

Smart猫小萌

正如其他人所说,发布到两个不同的页面不是登录检查后检索数据的方式。我们通常使用$_SESSION. 阅读文档话虽如此,我不知道您使用的是 PDO 还是 MySQli,因此我将仅使用 MySQli 为例。这是简单/干净的方法:表单.php<form method ="POST" action="LoginCheck.php"><div class="form-input">&nbsp; &nbsp; <b> User Name <b><br />&nbsp; &nbsp; <input type="text" name="user" id="user" />&nbsp; &nbsp; <br />&nbsp; &nbsp; <b> Password <b><br />&nbsp; &nbsp; <input type="text" name="password" id="password" />&nbsp; &nbsp; <br /><input type="submit" type="submit" value="Login" class="btn-login"/></form>登录检查.php&nbsp; &nbsp; if (!empty( $_POST )) {&nbsp; &nbsp; if ( isset( $_POST['user'] ) && isset( $_POST['password'] ) ) {&nbsp; &nbsp; //post variables&nbsp; &nbsp; $user = $_POST['user'];&nbsp; &nbsp; $password = $_POST['password'];&nbsp; &nbsp; //check the database if there are records matching user info&nbsp; &nbsp; $stmt_invalidatepass = $conn->prepare("SELECT password,id FROM users&nbsp;&nbsp; &nbsp; WHERE username=? ORDER BY dateCreated DESC LIMIT 1");&nbsp; &nbsp; $stmt_invalidatepass->bind_param("s",$user);&nbsp;&nbsp; &nbsp; $stmt_invalidatepass->execute();&nbsp;&nbsp; &nbsp; $resultvvvid = $stmt_invalidatepass->get_result();&nbsp; &nbsp; $rowvalida = $resultvvvid->fetch_assoc();&nbsp; &nbsp; $checkPassword = $rowvalida['password'];&nbsp; &nbsp; //verify password&nbsp; &nbsp; $hash1_verified = password_verify($password, $checkPassword);&nbsp; &nbsp; if( ($hash1_verified==false)){&nbsp; &nbsp; //oops no result redirect to login.php&nbsp; &nbsp; }else{&nbsp; &nbsp; //found user&nbsp; &nbsp; //set in session&nbsp; &nbsp; $_SESSION['user_id'] = $rowvalida['id'];&nbsp; &nbsp; //redirect to home.php&nbsp; &nbsp; header("Location: home.php");&nbsp; &nbsp; exit();&nbsp; &nbsp; }}}主页.php// Always start this firstsession_start();if (!isset($_SESSION['user_id'])) {&nbsp; &nbsp; header("Location: login.php");&nbsp; &nbsp; exit();} else {//do user queries here}
打开App,查看更多内容
随时随地看视频慕课网APP