2013-11-04 3 views
0

"include.php"를 통해 데이터베이스에 PHP를 연결하고 데이터베이스에 연결하고 있습니다. 그러나 다음 등록 PHP를 사용하여 테이블에 데이터를 생성하지는 않습니다.PHP 등록에서 테이블에 데이터를 생성하지 않습니다.

<?php 
    if(isset($_POST['doRegister'])){ 
     $username = $_POST['username']; 
     $password = $_POST['password']; 
     $verpassword = $_POST['verpassword']; 
     $email = $_POST['email']; 

     if(empty($username) || empty($password) || empty($verpassword) || empty($email)){ 
      echo "Please fill in all fields!"; 
     } else { 
      if($password == $verpassword){ 
       include("include/db.php"); 

       $result = $mysql->query("SELECT * FROM `users` WHERE `username`='$username'"); 
       $numrows = $result->rowCount(); 

       if($numrows != 0){ 

        $res = $mysql->query("SELECT * FROM `users` WHERE `email`='$email'"); 
        $nums = $res->rowCount(); 

        if($nums != 0){ 

         $stmt = $mysql->prepare("INSERT INTO `users` VALUES (:id,:username,:password,:email,:salt,:isBanned,:isAdmin)"); 
         $newsalt = "$2a$07$".uniqid(mt_rand(), true)."$"; 
         $enc_pass = crypt($password, $newsalt); 
         $stmt->execute(array(':id' => '',':username' => $username,':password' => $enc_pass,':email' => $email,':salt' => $newsalt,':isBanned' => '0',':isAdmin' => '0',)); 
       echo "You have signed up successfully!"; 

        } else { 
         echo "That username is already taken!"; 
        } 

       } else { 
        echo "That email has already been registered! <a href='login.php'>login?</a>"; 
       } 


      } else { 
       echo "Passwords do not match!"; 
      } 
     } 

    } 
?> 

여기 내 데이터베이스 연결 PHP입니다.

<?php 
try { 
     $mysql = new pdo('mysql:host=*;dbname=*','*','*'); 

} catch (Exception $e){ 
     die("Can't connect!".$e->getMessage()); 
    } 

?> 
+1

출력은 무엇인가해야입니까? 오류 메시지가 나타 납니까? 세계에서 모든 감사의 –

답변

1

모두 당신의 if 조건은 그들이 무엇을해야 inverse 있습니다. 현재 코드는 사용자 이름과 전자 메일이 이미있을 때만 새 레코드를 추가하려고 시도합니다.

if($numrows != 0){ 

이어야한다

if($numrows == 0){ 

동일은

if($nums != 0){ 

을 가진 경우 그것은

if($nums == 0){ 
+0

, 당신은 모든 하나의 마지막 하나 자격이. 간단하게 보이는 사실. 나는 그것을 매우 고맙게 생각한다! – user2844931

관련 문제