所以我正在为我的班级工作,我应该使用用户名和密码,并根据我连接的数据库中的表中包含的列表进行检查。
问题是当我点击提交按钮时没有发生任何事情我认为这可能是语法中的某种错误。由于我是PHP新手,很有可能它是显而易见的,但对我来说并不是那么多。
我的数据库数据存储在两个PHP数组中(每个字段一个)。然后我将数组转换为json,我将在我的JavaScript函数中使用它,将根据用户输入的数据进行检查。
我在一个文档中包含表单,PHP脚本和JavaScript脚本会导致此问题吗?
这是我的代码,谢谢你的帮助!
<html>
<body>
<?php
/*config is included in order to protect my login info*/
require('config.php');
Echo "Project 4";
/*SQL connection*/
$conn = new mysqli(DB_HOST,DB_USER,DB_PASS,DB_NAME);
/*Checking Connection*/
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$sql = "SELECT * FROM p4Data";
$data2 = mysqli_query($conn, $sql);
/*Display Data*/
echo "<table border = 1 style='float:left'>
<tr>
<th>Username</th>
<th>Password</th>
</tr>";
//Array Declarations
$usernameArr = [];
$passwordArr = [];
while($records = mysqli_fetch_array($data2)){
array_push($usernameArr,$records["username"]);
array_push($passwordArr,$records["password"]);
}
echo "</table>";
//JSON Conversion
$usernameJson = json_encode($usernameArr);
$passwordJson = json_encode($passwordArr);
mysqli_close($conn);
?>
<!-- JAVA SECTION -->
<script type="text/javascript">
var obj = JSON.parse('<?= $usernameJson; ?>');
var obj2 = JSON.parse('<?= $passwordJson; ?>');
function verifUser(){
var usernameData = document.getElementById("username").value;
var passwordData = document.getElementById("password").value;
for (i = 0; i < 30; i++){
if(usernameData == obj[i]){
alert("Username verfied at " + i);
indexLocated = i;
break;
}
}
}
</script>
<form name='form-main'>
Username: <input type="text" id="username"><br>
Password: <input type="password" id="password"><br>
<input type="button" value="Login >>" id="submitButton"
onclick="verifUser()">
</form>
</body>
</html>
答案 0 :(得分:-1)
您可以使用post方法获取用户输入的值,如下所示
<form method="post">
<input type="text" name="username">
<input type="password" name="password">
<input type="submit" name="submit" value="login">
</form>
并使用此PHP代码在提交表单时获取值
if(isset($_POST['submit'])){
$username_input = $_POST['username'];
$password_input = $_POST['password'];
}
然后查询sql,其中username = $ username和password = $ password。如下所示
$sql query = " SELECT * FROM TABLE WHERE username = $username and password = $password";
并使用
$num_rows = mysqli_num_rows($sql_query);
现在检查$ num_rows = 1表示输入用户名和密码有效否则echo无效
if($num_rows = 1){
**some code **
}else{
echo "Invalid information provided";
};