登録フォームとログインフォームを作成しました。md5パスワード取得
私は最初にtrim()
を使用し、次にmd5()
を使用してパスワードをデータベースに格納しました。
私はログインフォームでデータベースのパスワードをチェックするのに同じ方法を使用しましたが、何らかの不明な理由でログインフォームからmd5パスワードが一致しません。
私が欲しいのは、データベースからパスワードを取得することです。
問題は私がデータベースに保管し、php myadminでmd5パスワードが123456789
のようなものであることを確認するときです。ログインフォームでecho'dすると、私にはこの1234567890
が与えられます。ゼロの最後にゼロが問題を作り出しています。さもなければ、md5パスワード全体が一致します。私のデータベース照合はlatin_1_swedish_ci
です。
照合の問題はありますか?
i hvはvarchar値255を使用し、テキストなどを使用しますが解決策はありません。
フォーマットや構造に問題はありますか?
不要なゼロを正しく削除するmd5パスワードを取得する際にお役立てください。
function login()
{
if(isset($_POST['login']))
{
if(!$_POST['username'] || !$_POST['password'])
{die (mysql_error());}
else
{
$username = trim($_POST['username']);
$username = addslashes($_POST['username']);
$password = trim($_POST['password']);
$password = md5($_POST['password']);
echo $password;
$check_username = mysql_query("SELECT * FROM users WHERE username = '".$username."'")or die(mysql_error());
$check_username2 = mysql_num_rows($check_username);
if ($check_username2 == 0)
{die ("Username and password doesnt exist");}
else
{
$check_pass = mysql_query("SELECT * FROM users WHERE username = '".$password."'")or die(mysql_error());
$check_pass2 = mysql_num_rows($check_pass);
echo $check_pass2;
}
}
}
}
と
function register()
{
if(isset($_POST['submit']))
{
if(!$_POST['first_name'] || !$_POST['last_name'] || !$_POST['username'] || !$_POST['password'])
{header ("Location:user_registration.php");}
else
{
$firstname = trim($_POST['first_name']);
$firstname = addslashes($_POST['first_name']);
$lastname = trim($_POST['last_name']);
$lastname = addslashes($_POST['last_name']);
$username = trim($_POST['username']);
$username = addslashes($_POST['username']);
$password = trim($_POST['password']);
$password = md5($_POST['password']);
connect();
if($mysql_check_user = mysql_query("SELECT * FROM `users` WHERE `username` LIKE '$username' "))
{
$check_row = mysql_num_rows($mysql_check_user);
if($check_row > 0)
die ("username Exist");
else
{
$store = mysql_query
("INSERT INTO `project_upload`.`users`
(`id`, `fname`, `lname`, `username`, `password`)
VALUES (NULL, '$firstname', '$lastname', '$username', '$password')");
}
if ($store)
{echo "You have regstered succesfully. please go to <a href = 'uploads_login.php'>login page</a>"; }
else {echo mysql_error();}
}
}
}
}
なぜ、あなたはパスワードに 'trim()'を使いましたか? –
パスワードの取得と保存に使用するコードを投稿してください。 – lfxgroove
ゼロがデータベースから来て、あなたのコードに何か他のものによってエコーされていないことは確かですか? – Piskvor