Я хочу, StudentNumber
поле StudentNumber
повторяющихся данных. Например, если кто-то использует номер студента x
означает, что другому пользователю больше не разрешается регистрировать x
. Затем валидация гласит: "Пользователь уже существует".
Как я могу выполнить эту проверку?
Это мой код:
<?php
if(isset($_POST['submit'])){
if(preg_match('/^[a-zA-Z\s]+$/',$_POST['fn'])) {
if(preg_match('/^[A-Za-z\s-]+$/',$_POST['ln'])){
if(preg_match('/^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\@([a-z0-9])(([a-z0-9-])*([a-z0-9]))+(\.([a-z0-9])([-a-z0-9_-])?([a-z0-9])+)+$/i',$_POST['email'])){
if(preg_match('/^[0-9]{1,}$/',$_POST['c_number'])){
$fn=$_POST['fn'];
$ln=$_POST['ln'];
$gender=$_POST['gender'];
$address=$_POST['address'];
$email=$_POST['email'];
$c_number=$_POST['c_number'];
$s_number=$_POST['sn'];
$College=$POST['collage'];
mysql_query("insert into reg_member (firstname,lastname,address,gender,email,c_number,date,stunumber,collage)
values('$fn','$ln','$address','$gender','$email','$c_number',NOW(),'$s_number','$College')
")or die(mysql_error());
?>
<script type="text/javascript">
alert('Youre Successfully Register Thank You');
window.location="index.php";
</script>
<?php
}
else {
echo'<script type="text/javascript"> alert(\'invalid contact number\');</script>';
}
}
else {
echo'<script type="text/javascript"> alert(\'invalid email\');</script>';
}
}
else {
echo'<script type="text/javascript"> alert(\'invalid last name\');</script>';
}
}
else {
echo'<script type="text/javascript"> alert(\'invalid first name\');</script>';
}
?>
Поля MySQL могут иметь атрибут UNIQUE. Это позволяет использовать только уникальные записи - именно то, что вы хотите. Прочитайте это.
ALTER TABLE 'reg_member' ADD UNIQUE('stunumber');
MySQL даст вам ошибку при попытке вставить номер, который уже находится в базе данных. Вы можете проверить эту ошибку с помощью mysql_error и mysql_errno