0
<?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ページに投稿するにはどうすればよいですか? それは安全ですか?

4

2 に答える 2

2

あなたはそれを行うことができます:

$_SESSION['posted'] = $_POST;

他のphpページで:

print_r($_SESSION['posted']);
于 2012-10-17T02:40:01.053 に答える
0

何を求めているのかよくわかりませんが、突き刺します。

おそらく、ユーザー名 (またはユーザー ID) だけを気にします。あなたがすべきことは、ユーザーが認証したことを Cookie (またはセッションベースの Cookie) に保存することです。ユーザーのユーザー名 (またはユーザー ID) をユーザーが編集可能な Cookie に保存するだけでは、非常に悪い考え (tm) です。あなたがすべきことは、CookieがプライマリIDのランダム化されたハッシュを保存するセッションIDのバックエンドにテーブルを用意し、それを使用してそのユーザーについて保存した情報を検索することです. 複雑に見えますが、実際にはそうではありません。必要に応じて、これについてさらに詳しく説明できます。

felipsmartins が提案することはできますが、ユーザーのパスワードをどこにも保存しないでください。

于 2012-10-17T02:43:24.550 に答える