• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
جلوگیری از ورود نام های تکراری
#1
سلام من یه فرم ثبت نام دارم و می خوام وقتی کسی موقع ثبت نام ، نام کاربری که تو دیتابیس موجود هست رو دوباره باهاش نام نویسی نکنه و یه پیام اخطار هم بهش بده حالا ساختار کدش چجوری هست؟
  پاسخ
تشکر شده توسط :
#2
توی دیتابیس فیلد یوزرنیم رو unique بذارید .

توی فرم هم چک کنید چنین یوزر نیمی توی دیتابیس موجوده یا خیر اگه موجود بود خطا بدید !!!

(خیلی ساده اس ! یخورده فکر میخواد )
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط : ayoubsys
#3
(۱۳۹۸ مرداد ۰۴, ۱۰:۰۰ ق.ظ)Reza نوشته: توی دیتابیس فیلد یوزرنیم رو unique بذارید .

توی فرم هم چک کنید چنین یوزر نیمی توی دیتابیس موجوده یا خیر اگه موجود بود خطا بدید !!!

(خیلی ساده اس ! یخورده فکر میخواد )

خب مشکل من همین چک کردنه :|

اگه نمونه کُد دارید لطفاً بزارید یا حداقل یه reference چیزی !
  پاسخ
تشکر شده توسط :
#4
کدهای فرم ثبت نامت رو بذار تا اصلاح کنم .
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط :
#5
کد پی‌اچ‌پی:
<?php
require_once 'config.php';




if(isset(
$_POST['insert-user'])){

 
   if (empty($_POST['username'] and $_POST['password'] and $_POST['email'] and $_POST['firstname'])) {
 
       $usernameErr "وارد کردن نام کاربری الزامی است";
 
       $passwordErr "وارد کردن رمز عبور الزامی است";
 
       $emailErr "وارد کردن ایمیل الزامی است";
 
       $firstnameErr "وارد کردن نام الزامی است";
 
   }

 
   else{

 
           $username=$_POST['username'];
 
           $password=$_POST['password'];
 
           $email =$_POST["email"];
 
           $fname=$_POST['firstname'];



 
           $add_admin_SQL="INSERT INTO users_tbl(username,password,email,fname) VALUES ('$username','$password','$email','$fname')";

 
           mysqli_query($connection,$add_admin_SQL);
 
           header("location:users.php");

 
   }

}

?>


<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>Admin Panel</title>
    <link href="style.css" rel="stylesheet" type="text/css">
    <link href="add-edit-style.css" rel="stylesheet" type="text/css">
</head>
<body>

<?php include_once 'navbar.php'?>

<div class="add-user">

    <script>
        function validateemail() {

            var x=document.myform.email.value;
            var atposition=x.indexOf("@");
            var dotposition=x.lastIndexOf(".");
            if (atposition<1 || dotposition<atposition+2 || dotposition+2>=x.length){
                alert("ایمیل را با فرمت درست وارد کنید");
                return false;
            }

        }
    </script>


    <form name="myform" action="" enctype="multipart/form-data" onsubmit="return validateemail();" method="post" class="add-user-tbl">

        <label>نام کاربری :</label> <input type="text" name="username"><br/><br/>

        <label>پسورد :</label> <input type="password" name="password"><br/><br/>

        <label>ایمیل :</label> <input type="text" name="email"><br/><br/>


        <label>نام اصلی :</label> <input type="text" name="firstname"><br/><br/>


        <button type="submit" name="insert-user">ایجاد کاربر</button>



    </form> 
 
بفرمایید
  پاسخ
تشکر شده توسط :
#6
کد پی‌اچ‌پی:
<?php
require_once 'config.php';

function 
exists_user($username){
    
$username mysqli_real_escape_string($connection$username);
    
$sql "select * from users_tbl where username='{$username}'";
    return 
mysqli_query($connection,$sql);
}


if(isset(
$_POST['insert-user'])){

    if (empty(
$_POST['username'] and $_POST['password'] and $_POST['email'] and $_POST['firstname'])) {
        
$usernameErr "وارد کردن نام کاربری الزامی است";
        
$passwordErr "وارد کردن رمز عبور الزامی است";
        
$emailErr "وارد کردن ایمیل الزامی است";
        
$firstnameErr "وارد کردن نام الزامی است";
    }
    elseif(
exists_user($_POST['username']))
    {
        
$usernameErr "نام کاربری تکراری";
    }
    else{

            
$username=$_POST['username'];
            
$password=$_POST['password'];
            
$email =$_POST["email"];
            
$fname=$_POST['firstname'];



            
$add_admin_SQL="INSERT INTO users_tbl(username,password,email,fname) VALUES ('$username','$password','$email','$fname')";

            
mysqli_query($connection,$add_admin_SQL);
            
header("location:users.php");

    }

}

?>


<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>Admin Panel</title>
    <link href="style.css" rel="stylesheet" type="text/css">
    <link href="add-edit-style.css" rel="stylesheet" type="text/css">
</head>
<body>

<?php include_once 'navbar.php'?>

<div class="add-user">

    <script>
        function validateemail() {

            var x=document.myform.email.value;
            var atposition=x.indexOf("@");
            var dotposition=x.lastIndexOf(".");
            if (atposition<1 || dotposition<atposition+2 || dotposition+2>=x.length){
                alert("ایمیل را با فرمت درست وارد کنید");
                return false;
            }

        }
    </script>


    <form name="myform" action="" enctype="multipart/form-data" onsubmit="return validateemail();" method="post" class="add-user-tbl">

        <label>نام کاربری :</label> <input type="text" name="username"><br/><br/>

        <label>پسورد :</label> <input type="password" name="password"><br/><br/>

        <label>ایمیل :</label> <input type="text" name="email"><br/><br/>


        <label>نام اصلی :</label> <input type="text" name="firstname"><br/><br/>


        <button type="submit" name="insert-user">ایجاد کاربر</button>



    </form> 
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط : games9 ayoubsys molana


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان