2016-08-15 3 views
0

스크립트가 이미 정상적으로 작동하지만 사용자 이름이 아직 사용되지 않은 경우에만 허용하는 명령을 삽입하고 싶습니다.HTML PHP - 사용자 이름이 이미 존재하는지 확인하는 방법

if (isset($_POST['submit'])) { 
    $firstname = htmlentities($_POST['firstname'], ENT_QUOTES); 
    $lastname = htmlentities($_POST['lastname'], ENT_QUOTES); 
    $position = htmlentities($_POST['position'], ENT_QUOTES); 
    $username = htmlentities($_POST['username'], ENT_QUOTES); 
    $password = htmlentities($_POST['password_two'], ENT_QUOTES); 
    $uniqid = uniqid('', true); 
    if ($firstname == '' || $lastname == '' || $position == '' || $username == '' || $password == '') { 
     $error = 'ERROR: Please fill in all required fields!'; 
     renderForm($error, $firstname, $lastname, $position, $username, $password); 

    } else { 
     if ($stmt = $connection->prepare("INSERT INTO employee (uniqid, firstname, lastname, position, username, password) VALUES (?, ?, ?, ?, ?, ?)")) { 
      $stmt->bind_param("ssssss", $uniqid, $firstname, $lastname, $position, $username, $password); 
      $stmt->execute(); 
      $stmt->close(); 
     } else { 
      echo "ERROR: Could not prepare SQL statement."; 
     } 
     header("Location: regemployee.php"); 
    } 
} else { 
    renderForm(); 
} 
+0

전자 데이터베이스는 사용자 이름이 게시 된 확인을 가지고 있으며 쿼리가 값 0을 반환하면 삽입하지 않고 오류 메시지를 삽입 할 수 있습니다. –

+0

'선택 개수 (*) from YOUR_TABLE where YOUR_CONDITION' –

+0

else 부분에서는 테이블에서 데이터를 선택한 후 다른 부분과 동일하게 만듭니다. 'if ($ count == 0) {// 삽입 코드 삽입} else {// 여기에 오류 메시지가 나타납니다}'. –

답변

1

DB에서 고유 한 사용자 이름을 만든 다음 동일한 사용자 이름을 다시 DB에 삽입하려고하면 오류가 발생합니다.

또는 당신은 SELECT * FROM employee WHERE username = ?을하고 결과가> 0

그리고 당신이 이미 알고있는 것인지 확인할 수 있습니다.

$stmt = $connection->prepare("SELECT * FROM employee WHERE username = ?"); 
$stmt->bind_param("s", $username); 
$stmt->execute(); 

그런 다음 결과의 수를 얻을 :

+0

사용자 이름은 고유합니다. u는 내 코드 pls 덕분에 대답을 삽입 할 수 있습니까 – Maki

0

이미 존재하는 username를 제출하면 확인 다른 SELECT 쿼리를 수행, 그리고

$stmt->store_result(); 
$noofres = $stmt->num_rows; 
$stmt->close(); 

를 조건을 만들 아직하지 않는 경우 그 존재하면 삽입 쿼리를 수행합니다.

if($noofres == 0){ 

    /* INSERT QUERY HERE */ 

} else { 

    echo 'Username already taken.'; 

} 
+0

어디 새 SQL 쿼리를 삽입 할 것인가? – Maki

+0

코드를 삽입 할 위치에 대한 코드는 어떻게됩니까? 덕분에 – Maki

+0

안녕하십니까? – Maki

관련 문제