我正在使用以下代码在我的数据库中插入条目。但我可以多次添加相同的条目,我希望每当我在输入类型中提交相同的条目时,消息将显示“Nickname already exists”
<div>
<form>
<div>name <input type="text" name="na"/></div>
<div>marks1 <input type="text" name="m1"/></div>
<div>marks2<input type="text" name="m2"/></div>
<div>marks3 <input type="text" name="m3"/></div>
<div> <input type="submit" name="save" value="save"/></div>
</form>
</div>
这是我的PHP代码: -
<?php
if(!empty($_GET['save'])){
$na=$_GET['na'];
$m1=$_GET['m1'];
$m2=$_GET['m2'];
$m3=$_GET['m3'];
$query="insert into student(name,marks1,marks2,marks3) values('$na','$m1','$m2','$m3')";
mysqli_query($connect,$query);
}
?>
答案 0 :(得分:1)
答案 1 :(得分:0)
在插入基地之前进行选择以检查用户名是否已存在。
对于显示用户名已存在的输入消息,您可以使用隐藏的段落:<p id="informationText" hidden>This paragraph should be hidden.</p>
然后,一旦您的选择请求返回,元组已经存在,请执行ajax查询以显示此段落:$('#informationText').removeAttr('hidden');
这是一种简单的方法,还有其他更好的方法可以对JavaScript Form Validation
进行一些研究
第一次编辑
以下是代码示例:
<?php
if( isset( $_GET['save'] ) ){
$na=$_GET['na'];
$m1=$_GET['m1'];
$m2=$_GET['m2'];
$m3=$_GET['m3'];
$query = "select * from student where name = ? ";
$result = mysqli_query( $connect,$query, array( &$na ) );
$row = mysqli_fetch_row( $result );
if (count($row) > 0) {
echo "<script>$('#informationText').text = "Username already exists";$('#informationText').removeAttr('hidden');</script>";
} else {
$query="insert into student(name,marks1,marks2,marks3) values('$na','$m1','$m2','$m3')";
mysqli_query($connect,$query);
}
}
?>