index.html、login.js、login.php を使用してログインを作成しようとしています。
index.html
<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" type="text/css" href="../css/login.css">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="../javascript/login.js" type="text/javascript"></script>
<script src="../javascript/engine.js"></script>
</head>
<body>
<form name="loginForm" autocomplete="off">
<table align=center>
<tr><td colspan=2 bgcolor=#87C9FF><center><h2>Login</h2></center></td></tr>
<tr><td><label for="username">Username:</label></td><td><input id="username" name="username" pattern="[a-zA-Z0-9]{3,3}" title="Minmimum 3 letters or numbers." required></td></tr>
<tr><td><label for="password">Password:</label></td><td><input id="password" name="password" type="password" pattern=".{8,8}" title="Minmimum 8 letters or numbers." required></td></tr>
<tr><td colspan=2><center><input type="submit" class="btn" value="Login" onClick="handleLogin(this.form)"></center></td></tr>
</table>
</form>
<br/>
<br/>
<div name="Details" class="Details" id="Details></div>
<br/>
<?php include 'footer.php'; ?>
</body>
<html>
login.js
jQuery(document).ready(
function () {
document.getElementById('username').focus().focus();
}
);
function handleLogin(frm){
var username = document.getElementById('username').value;
var password = document.getElementById('password').value;
alert('hello');
$.ajax({
type: 'POST',
url: 'login.php',
data: {un: username, pw: password},
dataType: 'json',
cache: false,
success: function(result) {
validate = result;
alert("Goodbye");
} ,
});
}
login.php
<?php
$username = $_POST["un"];
$password = $_POST["pw"];
$username = strtoupper($username);
$password = strtoupper($password);
$file_handle = fopen("phplog.txt", "w");
$file_contents = "Username:" . $username . "\r\nPassword:" . $password . "\r\n";
# This section will open a connection to the existing backup server and get the last ith_rid used.
# It will then store that ith_rid to be used later and then close the database connection
$mysqlconn = new mysqli('localhost','username','password', 'table');
if ($mysqlconn->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqlconn->connect_errno . ") " . $mysqlconn->connect_error;
}
$res = $mysqlconn->query("SELECT opr, password FROM us_f WHERE opr='" . $username ."' GROUP BY opr, password ORDER BY opr DESC");
if (!$res) { ##If there is an error running query, display it to the screen.
echo "Error: $mysqlconn->error \n";
}
$num_rows = $res -> num_rows;
$file_contents .= $num_rows . "\r\n";
$file_contents .= "SELECT opr, password FROM us_f WHERE opr='" . $username ."' GROUP BY opr, password ORDER BY opr DESC\r\n";
if ($num_rows > 0){
$result = 1;
fwrite($file_handle, $file_contents);
fclose($file_handle);
echo json_encode($result);
}
if ($num_rows == 0){
$result = 0;
fwrite($file_handle, $file_contents);
fclose($file_handle);
echo json_encode($result);
}
fwrite($file_handle, $file_contents);
fclose($file_handle);
?>
POST の代わりに GET を使用し、URL を介して変数を渡す login.php をテストしました。私はこれが機能することを知っており、有効な場合は 1 を返し、無効な場合は 0 を返します。
ログインをクリックすると「Hello」がポップアップするため、login.js をテストしました。
何が起こっているかというと、login.php が結果を返すと、何も表示されません。たとえば、「さようなら」という警告ボックスは表示されません。
login.php が正しく返されているかどうか、または login.js が結果を正しく処理しているかどうかを判断できません。