douye1940 2015-08-30 05:44
浏览 84

每次刷新页面时,它都会将相同的用户插入数据库

Here is PHP code

<?php
if(isset($_POST['Murad'])){
$firstname=$_POST['firstname'];
$lastname=$_POST['lastname'];
$userName=$_POST['username'];
$password=$_POST['pwd1'];
$userName = stripslashes($userName);
$password = stripslashes($password);
$email=$_POST['email'];
$mysql_hostname = "localhost";
$mysql_user = "root";
$mysql_password = "123";
$mysql_databse = "websiteusers";
$prefix = "";
$bd = mysqli_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Could not connect database");
$sql = "INSERT INTO websiteusers 
       (fullname,lastname,userName,email,pass) 
       VALUES ( '$firstname', '$lastname','$userName', '$email','$password')";
        mysqli_select_db($bd,'websiteusers');
$retval = mysqli_query($bd,$sql );
if(! $retval )
{
  die('Could not enter data: ');
  return false;
}
else {echo "Entered data successfully
";
   }

   $usernamecheck=mysqli_query($bd,"SELECT `userName` FROM `websiteusers` 
                             WHERE userName='$userName'");
if(mysqli_num_rows($usernamecheck)>=1){
   echo $userName." is already taken";
 return false;
 }header("Location: Main.php");}

?>

User registers then when he is in his profile page as soon as he refreshes it inserts same username again.And also username and email are unique in my dt it cant insert it and gives an error

  • 写回答

3条回答 默认 最新

  • douyaju4259 2015-08-30 05:48
    关注

    What you are doing right now is you insert a user in the DB and after that you perform a check if the user exists. You'll have to move some code around.

    $bd = mysqli_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Could not connect database");
     $usernamecheck=mysqli_query($bd,"SELECT `userName` FROM `websiteusers` 
                                 WHERE userName='$userName'");
    if(mysqli_num_rows($usernamecheck)>=1){
       echo $userName." is already taken";
     } else {
    $sql = "INSERT INTO websiteusers 
           (fullname,lastname,userName,email,pass) 
           VALUES ( '$firstname', '$lastname','$userName', '$email','$password')";
            mysqli_select_db($bd,'websiteusers');
    $retval = mysqli_query($bd,$sql );
    if(! $retval )
    {
      die('Could not enter data: ');
    }
    else {
        echo "Entered data successfully
    ";
    }
    }
        }
    

    This way you first check if the user already exists. If does - you kill the script and the code after is not executed. Otherwise you insert a user in the DB

    评论

报告相同问题?

悬赏问题

  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向