jQuery 从 PHP 脚本调用模式
jQuery call modal from PHP script
我正在创建一个登录脚本,用于检查用户是否存在于 table 中。
如果用户不存在,我想使用 jquery 打开模式 window 让用户知道有错误。
<?php
include("../include/database.php");
if(isset($_GET['loginSubmit'])) // form submit button
{
// form username and password values
$username = strip_tags(mysqli_real_escape_string($dbc, trim($_GET['username'])));
$password = strip_tags(mysqli_real_escape_string($dbc, trim(md5($_GET['password']))));
// set query
$select = "SELECT username, fullname, userlevel, `password` FROM users WHERE username = '".$username."'";
// run query
$query = mysqli_query($dbc, $select);
// get the results
$row = mysqli_fetch_array($query);
// set the results to variables to be used in sessions
$dbusername = htmlentities(stripslashes($row['username']));
$dbfullname = htmlentities(stripslashes($row['fullname']));
$dbuserlevel = htmlentities(stripslashes($row['userlevel']));
$dbpassword = htmlentities(stripslashes($row['password']));
// check if the database password matches the user password
if($dbpassword == $password)
{
// if yes, set the sessions and direct to main page
$_SESSION['username'] = $username;
$_SESSION['fullname'] = $dbfullname;
$_SESSION['userlevel'] = $dbuserlevel;
header("Location:main.html");
}
else
{
// if no match, this is where I want the javascript to show the modal
echo ("<script language='javascript'>
$('#errLoginModal').modal('show'); // this is jquery and I know it's incorrect
window.location.href='index.php'
</script>");
}
?>
我仍在努力改善 JavaScript、jQuery 和 PHP。通过 Stack Overflow,我 getter 变得更好了。
我希望 PHP 脚本在 username/password 检查失败时使用 JavaScript/jQuery 触发模态 window。我什至不确定这是否是最好的方法。
我知道上面的代码不正确。我的意思是它不显示模态 window 一个。
另一方面,我可以添加警报,它会像这样触发警报:
else
{
echo ("<script language='javascript'>
alert(test);
window.location.href='index.php'
</script>");
}
这行得通。我只是希望它能够显示模态。
我假设您使用 Bootstrap 打开模式 window,因为您使用 .modal('show')
。确保在 HTML <head></head>
.
中包含 jquery 以及 bootstrap js 文件
如果模态 window 位于对 $('#errLoginModal').modal('show');
的调用下方,您需要使用 jQuery .ready
事件,一旦 DOM 已满载,docs.
所以你应该看起来像这样:
else {
echo ("<script language='javascript'>
$( document ).ready(function() {
$('#errLoginModal').modal('show');
});
</script>");
}
你可以尝试包含js文件。
}else{
echo `<script src="you_file.js"></script>`
}
//you_file.js
(function ($){
$(document).ready(function() {
alert(`test`);
$('#errLoginModal').modal('show');
window.location.href='index.php';
})
})
当然包括jquery在那之前
我正在创建一个登录脚本,用于检查用户是否存在于 table 中。
如果用户不存在,我想使用 jquery 打开模式 window 让用户知道有错误。
<?php
include("../include/database.php");
if(isset($_GET['loginSubmit'])) // form submit button
{
// form username and password values
$username = strip_tags(mysqli_real_escape_string($dbc, trim($_GET['username'])));
$password = strip_tags(mysqli_real_escape_string($dbc, trim(md5($_GET['password']))));
// set query
$select = "SELECT username, fullname, userlevel, `password` FROM users WHERE username = '".$username."'";
// run query
$query = mysqli_query($dbc, $select);
// get the results
$row = mysqli_fetch_array($query);
// set the results to variables to be used in sessions
$dbusername = htmlentities(stripslashes($row['username']));
$dbfullname = htmlentities(stripslashes($row['fullname']));
$dbuserlevel = htmlentities(stripslashes($row['userlevel']));
$dbpassword = htmlentities(stripslashes($row['password']));
// check if the database password matches the user password
if($dbpassword == $password)
{
// if yes, set the sessions and direct to main page
$_SESSION['username'] = $username;
$_SESSION['fullname'] = $dbfullname;
$_SESSION['userlevel'] = $dbuserlevel;
header("Location:main.html");
}
else
{
// if no match, this is where I want the javascript to show the modal
echo ("<script language='javascript'>
$('#errLoginModal').modal('show'); // this is jquery and I know it's incorrect
window.location.href='index.php'
</script>");
}
?>
我仍在努力改善 JavaScript、jQuery 和 PHP。通过 Stack Overflow,我 getter 变得更好了。
我希望 PHP 脚本在 username/password 检查失败时使用 JavaScript/jQuery 触发模态 window。我什至不确定这是否是最好的方法。
我知道上面的代码不正确。我的意思是它不显示模态 window 一个。
另一方面,我可以添加警报,它会像这样触发警报:
else
{
echo ("<script language='javascript'>
alert(test);
window.location.href='index.php'
</script>");
}
这行得通。我只是希望它能够显示模态。
我假设您使用 Bootstrap 打开模式 window,因为您使用 .modal('show')
。确保在 HTML <head></head>
.
如果模态 window 位于对 $('#errLoginModal').modal('show');
的调用下方,您需要使用 jQuery .ready
事件,一旦 DOM 已满载,docs.
所以你应该看起来像这样:
else {
echo ("<script language='javascript'>
$( document ).ready(function() {
$('#errLoginModal').modal('show');
});
</script>");
}
你可以尝试包含js文件。
}else{
echo `<script src="you_file.js"></script>`
}
//you_file.js
(function ($){
$(document).ready(function() {
alert(`test`);
$('#errLoginModal').modal('show');
window.location.href='index.php';
})
})
当然包括jquery在那之前