フォーム入力パスワードとランダム生成されたパスワードを比較
現在フォームから入力パスワードと PHP でランダム生成された
パスワードを比較するスクリプトを組んでます。
スクリプト自体はテスト用ですので
フォーム入力用のパスワードは HTML 上に表示されるように
なっており、それをコピー&ペーストすれば
良いようにはなっているのですが、どうやっても
比較結果が true になりません。
もはやどこが間違っているのかわかりません。
どなたかお教え頂ければ大変助かります。
何卒、宜しくお願い致します。
ファイル構成は
3つです↓
ran_pass.html
ran_pass.php
kekka.php
--<< 1. フォーム入力 HTML [ ran_pass.html ] ↓ >>-------------------------------------------------------------------------------
<html>
<head>
<title>名前入力</title>
</head>
<body>
<u>名前入力</u><br>
<form action="ran_pass.php" method="post" name="">
名前 : <input type="text" name="name" size="24" border="0">
<input type="submit" name="" value="実行" border="0">
</form>
</body>
</html>
--<< 2. ランダムパスワード生成 [ ran_pass.php ] ↓ >>---------------------------------------------------------------------------
<html>
<head>
<title>ランダムパスワード生成</title>
</head>
<body>
<?php
//フォームからのデータを $name に代入↓ //
$name = $_POST[name];
//ランダムパスワードを生成 ↓//
function rand_passwd($len = 8, $str = '0123456789abcdefghijklmnopqrstuvwxyz'){
$password = '';
srand ((float) microtime() * 10000000);
for($i = 0; $i < $len; $i ++){
$password .= substr($str, rand(0, strlen($str) - 1), 1);
}
return $password;
}
//生成されたランダムパスワードを $rpass に代入 ↓//
$rpass = rand_passwd(8) . "\n";
$htm = <<< EOD
<u>ランダムパスワード生成</u><br>
<form action="kekka.php" method="post" name="">
名前 : $name さん<br><br>
パスワード : <input type="text" name="ran_pass" size="24" border="0">
<input type="submit" name="" value="実行" border="0"><br>
<input type="hidden" name="name" value="$name" border="0">
<input type="hidden" name="rpass" value="$rpass" border="0"><br>
( ※ パスワードは $rpass です。)
</form>
EOD;
print $htm;
?>
</body>
</html>
--<< 3. パスワード比較 [ kekka.php ] ↓ >>--------------------------------------------------------------------------------------
<html>
<head>
<title>パスワード認証結果</title>
</head>
<body>
<?php
//フォームからのデータを代入↓ //
$name = $_POST[name];
$ran_pass = $_POST[ran_pass];
$rpass = $_POST[rpass];
//ランダムパスワードを生成 ↓//
if($ran_pass == $rpass){
$kekka = "【 成功 】 パスワードが一致しました。";}
else{$kekka = "【 失敗 】 パスワードが一致しませんでした。";}
print $kekka;
?>
</body>
</html>
お礼
あ。。。そうですね(^^;) 単純な間違いで気がつきませんでした。 お礼が遅れてしまい申し訳ありません。