【发布时间】:2017-03-12 00:19:26
【问题描述】:
我正在尝试创建一个网站并编写现在我正在创建我的登录页面。我已成功检查用户是否存在。但是如果它是错误的,我想返回一个错误,这只能使用 JavaScript。我的 PHP 文件是使用 AJAX 运行的。我尝试了很多解决方案,但都没有奏效。我尝试将脚本标签放在 echo 中,但没有奏效。所以基本上我想在 PHP 中运行我的 JavaScript 代码。
我的 HTML 代码:
<!DOCTYPE html>
<html>
<head>
<title>NHG</title>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link type="text/css" rel="stylesheet" href="css/normalize.css"/>
<link type="text/css" rel="stylesheet" href="css/style.css"/>
<link type="text/css" rel="stylesheet" href="css/resposive.css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="JS/script.js"></script>
<script src="JS/jQuery.js"></script>
</head>
<body>
<div id="abhimanyu">
<p>"Life will test you but remember this, when you walk up a mountain your legs get stronger"</p>
</div>
<div id="arjun">
<p>"There is no such thing as a failed experiment, only experiments with unexpected outcomes"</p>
</div>
<br>
<div id="bheem">
<p>"Do not look where you fell, but where you slipped."</p>
</div>
<div id="eklavya">
<p>"Sometimes life touches one person with a bouquet and another with a thorn bush, but the first may find a wasp in the flowers, and the second may discover roses among the thorns."</p>
</div>
<header>
<div id="main-head">
<!-- REMEMBER TO CHANGE THE COLOR OF HEADING -->
<a href="#" id="main-heading"><h2><span>sKool</span><span>Talk</span></h2></a>
</div>
</header>
<section>
<div id="container">
<div id="wrapper">
<img src="https://i.imgsafe.org/a40bbe047e.png" alt="avatar" id="schoolAvatar" align="middle">
<div id="admissionNumberDiv">
<form method="get" id="admissionNumber">
<input type="text" name="admissionNumber" id="admissionNumberBox" placeholder="Enter your asmission number..."/>
<br>
<input type="password" name="password" id="password" placeholder="Enter your Password...">
<br>
<button type="submit" id="admissionSubmitButton">
<p>Next</p>
</button>
<br>
<p id="loginErrorMessage"></p>
</form>
<br>
</div>
</div>
</div>
</section>
<br>
<footer>
<div class="footerHR">
</div>
</footer>
</body>
</html>
我的 JS:
$(document).ready(function() {
$('#schoolSubmitButton').click(function(){
var schoolName = $('#schoolNameBox').val().toLowerCase();
switch (schoolName) {
case 'new horizon gurukul':
$('#container').remove();
$.get("NHGLogin.php", function(data){
var NGHLogin = $(data).find('div#container');
$('body').append(NGHLogin);
});
break;
default:
$('#schoolErrorMessage').text('Please Enter a valid school name, still if invalid schoold does not exist!').css('color', 'red');
}
});
var name = $('#admissionNumberBox').val();
var pwd = $('#password').val();
var dataString = "admissionNumber: " + name;
$('#admissionSubmitButton').click(function() {
$.ajax({
url: 'php/login.php',
method: 'get',
cache: 'true',
dataType: 'html',
data: {'admissionNumber': name, 'password': pwd},
success: function(response){
$('#container').append(response);
$('body').append(response);
$('#loginErrorMessage').text(response);
alert(response);
}
});
});
});
还有我的 PHP:
<?php
session_start();
$dbserver = "localhost:3306";
$dbuser = "root";
$dbpass = "";
$dbname = "NewHorizonGurukul";
$username = $_GET['admissionNumber'];
$password = $_GET['password'];
// Create connection
$conn = new mysqli($dbserver, $dbuser, $dbpass, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM Users WHERE AdmissionNumber='$username' AND Password='$password';";
$result = $conn->query($sql);
$numRows = $result->num_rows;
$row = $result->fetch_assoc();
if ($numRows > 0) {
header('location: ../random.php');
echo "<script>window.location('../random.php')<script/>";
} else {
echo '<script type="text/javascript">',
'document.getElementById("loginErrorMessage").innerHTML = "Pleas enter a valid username or password";',
'</script>';
}
?>
这是它返回的内容:
【问题讨论】:
-
尝试控制台你的 Ajax 响应,如果它正确打印与否..!!
-
这里有什么问题?有语法错误吗?
-
从另一篇文章中查看这个答案。 http://stackoverflow.com/a/10596296/3973543
-
这就是我在上面的代码中所做的,但它不起作用。它只是将其作为字符串返回。
-
这不是语法错误,它只是回显一个字符串,而不是在脚本标签内运行什么
标签: javascript php ajax