<?php
if ($_POST['submit'] == "submit")
{
$userName = $_POST['username'];
$passWord = $_POST['password'];
$db= mysql_connect("localhost", "root", "root");
if(!$db) die("Error connecting to MySQL database.");
mysql_select_db("onlineform", $db);
$checkUserNameQuery = "SELECT username FROM onlineformdata ORDER BY id DESC LIMIT 1";
$checkUserName = mysql_query($checkUserNameQuery);
$checkPassWordQuery = "SELECT password FROM onlineformdata ORDER BY id DESC LIMIT 1";
$checkPassWord = mysql_query($checkPassWordQuery);
$AdminChanges = "";
if (($userName == $checkUserName) && ($passWord == $checkPassWord))
{
$AdminChanges = "AdminChanges.php";
}
else
{
$AdminChanges = "InvalidLogin.html";
}
}
function PrepSQL($value)
{
// Stripslashes
if(get_magic_quotes_gpc())
{
$value = stripslashes($value);
}
// Quote
$value = "'" . mysql_real_escape_string($value) . "'";
return($value);
}
?>
<html>
<head>
<title>Admin Login</title>
</head>
<body>
<form action = <?php echo PrepSQL($AdminChanges); ?> method="post">
username: <input type="text" name="username" />
password: <input type="text" name="password" /> <br/>
<input type="submit" name="submit" value="submit" />
</form>
</body>
</html>
送信時にフォームが間違った場所に送信されるという問題があります。ユーザー認証ページです。ユーザー名とパスワードがデータベースに保存されているものと一致しない場合は、無効なログイン ページに移動する必要があります。その場合は、ユーザー確認 Web サイトの次の部分に移動する必要があります。
値を入力する前のフォーム タグは、ページ ソースでは次のようになります。
ただし、ユーザー名とパスワードが正しい場合は、InvalidLogin.html ページに移動します。正しくない場合、フォームが再度リロードされ、ページのソースを確認すると、フォーム タグが表示されることを除いて、まったく同じコードです。
助言がありますか?