私のPHPログインスクリプトでは、私はdb(データベース)からパスワードを選択するためにmd5()関数を使用しましたが、動作しません。 iT'S SHOW "Password is not !!!!!!"私はdb WITH md5()関数にパスワードを挿入していますが。スクリプトの問題は何ですか?それは100%安全なスクリプトですか? =
がassignment operatordocs、ないcomparison operatordocsあるのでphpログインスクリプトの問題
<?php
include("include/session.php");
include("header.php");
include("db.php");
?><head>
<link href="content/admincss/styleadmin.css" rel="stylesheet" type="text/css" />
</head>
<div id="container">
<br />
<?php
if ($_POST['admin'] = "Submit") {
$uname = mysql_real_escape_string(trim($_POST['uname_ad']));
$pass = md5(mysql_real_escape_string(trim($_POST['pass'])));
$u_ch = mysql_query("SELECT uname_ad FROM admin WHERE uname_ad = '$uname'") or die(mysql_error());
$u_ch_rel = mysql_num_rows($u_ch);
$p_ch = mysql_query("SELECT pass FROM admin WHERE pass = '$pass'") or die(mysql_error());
$p_ch_rel = mysql_num_rows($p_ch);
if (isset($uname, $pass)) {
$err = array();
if (empty($uname) && empty($pass))
$err[] = 'All field required.';
else {
if (empty($uname))
$err[] = 'Please write your username';
else {
if ($u_ch_rel !== 1)
$err[] = 'Username is not correct';
}
if (empty($pass))
$err[] = 'Please write your password';
else {
if ($p_ch_rel !== 1)
$err[] = 'Password is not correct';
}
}
if (!empty($err)) {
foreach ($err as $er) {
echo "<font color=red>$er</font><br>";
}
}
else {
if ($u_ch_rel = 1 && $p_ch_rel = 1) {
include "include/newsession.php"; //user session
$tm = date("Y-m-d H:i:s");
$ip = $_SERVER['REMOTE_ADDR'];
echo $ip;
$rt = mysql_query("insert into plus_login(id,uname,ip,tm)
values('$_SESSION[id]','$_SESSION[uname_ad]','$ip','$tm')");
echo mysql_error();
print "<script>";
print " self.location='content/index.php';";
print "</script>";
}
}
}
}
?>
</div>
よく、私のコードを変更しましたが、まだパスワードが正しくありません。 –
if($ _SERVER ['REQUEST_METHOD'] == 'POST')... 'です。特定のフォームフィールドの存在に応じて、悪い方法があります。 –
あるいは単に 'isset()'チェックを追加してください... – rdlowrey