私はPHPログインを作成しています。以前は動作していましたが、ユーザー名の大文字と小文字を区別しないようにしました。 iestrtolower()。大文字と小文字を区別しないようにするために追加したすべてのものを削除しました。ページに表示されるのは「ユーザー名とパスワードを入力してください」です。私はポップアップしてログインを破棄するはずのhtmlファイルを持っています。私はまた、mysqliのを接続するための最新の方法があり、SQLインジェクションにPHPログインの問題。不明
を防ぐために、あなたのポストの値の周りmysql_real_escape_string()
を入れている
<?php
session_start();
$username = $_POST["username"];
$password = $_POST["password"];
if ($username&&$password)
{
$connect = mysql_connect("","","") or die("No Database");
mysql_select_db("") or die("Couldn't find database");
$query = mysql_query("SELECT * FROM login WHERE username='$username'");
$numrows = mysql_num_rows($query);
if($numrows !=0)
{
while ($row = mysql_fetch_assoc($query))
{
$dbusername = $row['username'];
$dbpassword = $row['password'];
}
if ($username==$dbusername&&$password==$dbpassword)
{
echo "Login succesful. <a href='/memberarea.php'>Members</a>";
$_session['username']=$dbusername;
}
else
echo "Incorrect Password";
}
else
die("Username does not exist");
}
else
die("Please enter a username and password.");
?>
あなたはワイドに開いている[** SQLインジェクション**](https://www.owasp.org/index.php/SQL_Injection)。また、コードにスペースを入れてください。 '$ username && $ password'は読みにくいです。 –
これはページにのみ表示されるエラーが表示されますか? http://prntscr.com/atldqb –
また、ユーザ名とパスワードを受け入れる前にこのページを投稿する必要があります。表示されるように、 '$ _POST'パラメータを設定しないというエラーがあります。 (ああ、セッションクッキーにユーザー名を格納するのは*とても悪い考えです!) –