gpt4 book ai didi

php - 使用带有 PHP 的 Ajax 搜索重复用户并将图像发送到页面

转载 作者:可可西里 更新时间:2023-11-01 08:45:01 25 4
gpt4 key购买 nike

当存在重复的用户名时,我试图在输入的用户名旁边显示一条错误消息。当用户开始输入字符串时,它将搜索数据库。如果没有任何重复的用户名,它会在用户名输入旁边显示一个勾号。

现在的问题是它没有显示图像,而是在输入 'Champ 'test' inconnu dans where clause' 旁边显示此消息

我该如何解决这个问题?这是我的代码。

register.php

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Video Game Rental - Sign up</title>
<link href="css/main.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="jquery-1.2.6.min.js"></script>

<SCRIPT type="text/javascript">

pic1 = new Image(16, 16);
pic1.src = "pic/loader.gif";

$(document).ready(function(){

$("#username").change(function() {

var usr = $("#username").val();

if(usr.length >= 1)
{
$("#status").html('<img src="pic/loader.gif" align="absmiddle">');

$.ajax({
type: "POST",
url: "check.php",
data: "username="+ usr,
success: function(msg){

$("#status").ajaxComplete(function(event, request, settings){

if(msg == 'OK')
{
$("#username").removeClass('object_error'); // if necessary
$("#username").addClass("object_ok");
$(this).html('&nbsp;<img src="pic/tick.gif" align="absmiddle">');
}
else
{
$("#username").removeClass('object_ok'); // if necessary
$("#username").addClass("object_error");
$(this).html(msg);
}

});

}

});

}

});

});

//-->
</SCRIPT>


</head>

<body>
<div id="whitebox">
<form action="record.php" method="post" enctype="multipart/form-data" onSubmit="return myFunction(this);">

<table>
<tr>
<th colspan="3">CREATE AN ACCOUNT</th>
</tr>
<tr>
<td width="200"><div align="right">&nbsp;</div></td>
<td width="100"><input name="username" type="text" id="username" placeholder="Username" size="20"></td>
<td width="400" align="left"><div id="status"></div></td>
</tr>

<tr>
<td width="200"><div align="right">&nbsp;</div></td>
<td width="100"><input name="password" type="text" id="password" placeholder="Password" size="20"></td>
<td width="400" align="left"><div id="status"></div></td>
</tr>

<tr>
<td width="200"><div align="right">&nbsp;</div></td>
<td width="100"><input name="cpassword" type="text" id="cpassword" placeholder="Confirm Password" size="20"></td>
<td width="400" align="left"><div id="status"></div></td>
</tr>
<tr>
<td colspan="3"><br> Profile picture:<br>
<input type="file" name="fileToUpload" id="fileToUpload"> </td>
</tr>
</table>

<script>
function myFunction() {
var pass1 = document.getElementById("password").value;
var pass2 = document.getElementById("cpassword").value;
var ok = true;
if(pass1 != pass2)
{
document.getElementById("password").style.borderColor = "#E34234";
document.getElementById("cpassword").style.borderColor = "#E34234";
ok = false;
}
return ok;
}

function isNumberKey(evt){
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}
</script>
<input name="register" type="submit" class="register" id="register" value="Register">
</form>
<form action="index.php">
<input name="back" type="submit" class="register" id="back" value="Back">
</form>


</div>
</body>
</html>

check.php

<?php
if(isSet($_POST['username']))
{
$username = $_POST['username'];

$conn = mysqli_connect("localhost", "root", "", "videorental");
$query ="SELECT * FROM userinfo WHERE username = $username";
$sql_check = mysqli_query($conn, $query) or die(mysqli_error($conn));

if(mysqli_num_rows($conn, $sql_check))
{
echo '<br><font color="red">The nickname <STRONG>'.$username.'</STRONG> is already in use.</font>';
}
else
{
echo 'OK';
}

}

?>

最佳答案

对我来说,您的查询似乎也有语法错误:

$query ="SELECT * FROM userinfo WHERE username = $username";

我猜您正在为 userinfo 表中的用户名列使用 CHAR 或 VARCHAR 之类的字符串类型。您需要在 SQL 查询中引用您的字符串:

$query ="SELECT * FROM userinfo WHERE username = '$username'";

正如 Rasclatt 提到的,您应该在 sql 中绑定(bind)变量,因为这里解释了 sql 注入(inject)的风险:

http://php.net/manual/en/security.database.sql-injection.php

我建议你使用 mysqli 预处理语句:

http://php.net/manual/en/mysqli.quickstart.prepared-statements.php

关于php - 使用带有 PHP 的 Ajax 搜索重复用户并将图像发送到页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31364233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com