是的。不过,有几点需要注意。
您必须有一种从客户端启动 MySQL 查询的方法。通常,这是通过 AJAX 完成的,由浏览器事件触发。在下面的示例中,我使用了一个按钮单击事件来触发 AJAX 例程。
AJAX 例程将“调用”您的 PHP 文件并启动您的数据库查询。或者,您可以将参数传递给 PHP 端。在此示例中,我传递了用户可能已在表单字段中输入的用户名。
PHP 文件的任何输出(希望它是有用的数据)都将出现在 AJAX 例程的success:
函数中。您必须在该函数中处理它(即在 DOM 中插入数据等),而不是其他任何地方。如您所见,我的代码采用接收到的任何内容(变量whatigot
)并使用该.html()
方法将其注入到<div id="err_msg">
.
最后,jQUI 对话框是最简单的部分 - 只需针对该 div 运行 .dialog 方法。请注意,第 2 和第 3 引用<head>
是使它工作的原因(jqueryui refs)。
这是一个使用 AJAX 方法的独立示例:
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/base/jquery-ui.css" />
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#mybutt').click(function() {
var someGuy = $('#sumuser').val();
$.ajax({
type: "POST",
url: "your_php_file.php",
data: 'userName=' + someGuy,
success: function(whatigot) {
//alert('Server-side response: ' + whatigot);
$('#err_msg').html(whatigot);
$('#err_msg').dialog({
autoOpen:true,
width:500,
title:"Your Error Message",
});
} //END success fn
}); //END $.ajax
}); //END button click event
}); //END $(document).ready()
</script>
</head>
<body>
Type a user name and then press Go:<br />
<input type="text" id="sumuser">
<br />
<input type="button" id="mybutt" value="Go">
<div id="err_msg"></div>
</body>
</html>
请注意,PHP 处理是在一个外部文件中完成的,我在上面将其引用为your_php_file.php
. 这就是里面的东西。在我的系统上,它会生成一个 MySQL 错误——您可能需要调整 MySQL 查询以生成错误。
YOUR_PHP_FILE.PHP - 实际上,必须以与引用相同的大小写命名,所以真的:your_php_file.php:
//echo 'Got to the PHP side';
$phpSideUserName = $_POST['userName'];
$query="UPDATE users SET pass=(SELECT MD5('$pass')) WHERE userid='$phpSideUserName '"
$result = mysql_query($query) OR die(mysql_error());