验证后将表单变量POST到另一个php文件

时间:2012-10-17 02:35:46

标签: php

<?php
//index.php
session_start(); 
if (isset($_SESSION['username'])) {
header('Location: Pro_Lesson.php');
}
if (isset($_POST['username'], $_POST['password'])){
    if(empty($_POST['username']) || empty( $_POST['password'])){
        echo "username or password are empty";
    }else {
header('Location: login.php');
    }
}
?>
<html>
<head>
</head>
<body>
<h3>User Login</h3>
<table border="0">
<form method="POST" action="index.php">
<tr><td>Username</td><td>:</td><td><input type="text" name="username" size="20"></td></tr>
<tr><td>Password</td><td>:</td><td><input type="password" name="password" size="20"></td></tr>
<tr><td>&nbsp;</td><td>&nbsp;</td><td><input type="submit" value="Login"></td></tr>
</form>
</table>
</body> 
</html>

如何在成功验证用户名和密码后将表单数据发布到另一个php页面?它安全吗?

2 个答案:

答案 0 :(得分:2)

你可以这样做:

$_SESSION['posted'] = $_POST;

在其他php页面中:

print_r($_SESSION['posted']);

答案 1 :(得分:0)

我不确定你在问什么,但我会采取刺。

您可能只关心用户名(或用户ID)。您应该做的是存储用户在cookie(或基于会话的cookie)中进行身份验证的情况。只是将用户的用户名(或用户ID)存储在用户可编辑的cookie中是一个非常糟糕的想法(tm)。您应该做的是在会话ID的后端有一个表,cookie存储主ID的随机散列,然后您可以使用它来查找您存储的有关该用户的信息。 看起来很复杂,但事实并非如此。如果你愿意,我可以在这方面进一步扩展。

你可以做felipsmartins建议的,但你不应该把用户的密码存储在任何地方。