gpt4 book ai didi

php - 我想检查如何通过排除空格、数字和符号来避免重复标题?

转载 作者:行者123 更新时间:2023-11-30 00:23:12 26 4
gpt4 key购买 nike

这是我在脚本中使用的内容:

<script type="text/javascript">
function kontroluser()
{
$('#sonuc_geluser').html('');
var val = $('#username').val(); //Input'da belirttiğimiz #kullanici_adi ID'sinin değeri
$.get('kontrol_user.php?ku='+val, function(data) {
$('#sonuc_geluser').html(data);
if(data.length > 8){
document.getElementById("test11").disabled = true;
}else {
document.getElementById("test11").disabled = false;
}
$('#username').addClass('error');

});
}

</script>

这是我的输入字段:

<input class="text-input small-input required" type="text" name="user_id" placeholder="AP14XXXX" onchange="kontroluser();" id="username"/>

然后我编写了这段 PHP 代码来检查重复值:

<?php 
require_once('includes/config.php');
$ku = $_GET['ku'];
$usersQuery = "SELECT user_id FROM user where user_id='$ku'";
$users = mysqli_query($link, $usersQuery);
$kay_Sey = mysqli_num_rows($users);
if($kay_Sey > 0)
{
echo "Username already exists";
}
else {
echo '';
}

?>

,但是这个仅像这样进行检查,例如:当我使用 id AP1411111 注册新用户时,然后当我使用相同的 id 注册另一个用户并像这样输入逗号时 AP141111, 它不会检查对于重复的???为什么

最佳答案

Yuo可以使用php函数similar_text()

<?php

similar_text("AP1411111","AP141111,",$percent);
echo $percent;
//88%

?>

您可以定义差异的最小值,例如 80%,如果该值优于该 %,则假定重复。

另一种方法是使用 mysql LIKE 函数:

SELECT user_id FROM user where user_id LIKE '%$ku%';

以上内容将匹配任何内容AP1411111任何内容,如果您从数据库中获得任何结果,则假设该结果是重复的。

更新:

根据您的评论,我更新了我的答案。在比较字符串之前清除所有非字母数字字符,如下所示:

if(isset($_GET['ku']))
{
$ku = $_GET['ku']; //ex: AP41,113_&xW

$ku = preg_replace('/([^a-zA-Z0-9]+)/i', '', $ku ); //AP41113xW
$ku = preg_replace('/^.*?(AP[0-9]{1,}).*?$/i', '$1', $ku );//AP41113


//the rest of your code

}

Example

关于php - 我想检查如何通过排除空格、数字和符号来避免重复标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23072004/

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