이메일 주소가 데이터베이스에 이미 존재하는지 확인
18069 단어 ajaxphpjavascriptmysql
이 튜토리얼에서는 Ajax와 함께 PHP 및 MySQL을 사용하여 이메일이 데이터베이스에 이미 존재하는지 확인하는 방법을 배웁니다. 이 작업은 모든 프로그래밍 언어로 애플리케이션을 구축하는 경우에 필요합니다. 레코드 중복을 방지하기 위해 이메일 입력이 데이터베이스에 아직 존재하지 않는지 확인해야 합니다. 하지만 지금은 이 튜토리얼을 위해 PHP와 MySQL을 사용할 것입니다.
따라서 먼저 다른 테이블로 이메일을 확인해야 하는 경우 재사용할 수 있도록 함수를 생성합니다. 다음은 내
functions.php
파일에서 코딩한 함수입니다.function isEmailExists($db, $tableName, $email)
{
// SQL Statement
$sql = "SELECT * FROM ".$tableName." WHERE email='".$email."'";
// Process the query
$results = $db->query($sql);
// Fetch Associative array
$row = $results->fetch_assoc();
// Check if there is a result and response to 1 if email is existing
return (is_array($row) && count($row)>0);
}
매개변수:
$db - mysqli 개체를 사용하는 SQL 연결에 필요합니다.
$tableName - 이메일 확인이 가능한 모든 테이블을 확인할 수 있도록 table_name을 입력하기 위해 $tableName 변수를 추가합니다.
$email - 양식에서 제출한 이메일 문자열
그런 다음 위에서 만든 함수를 호출합니다. 다음은 이해를 돕기 위한 코드입니다.
if(!isEmailValid($email)):
$result['has_error'] = 1;
$result['response'] = "Email address is invalid.";
elseif(isEmailExists($db, "employees", $email)):
$result['has_error'] = 1;
$result['response'] = "Email address is already exists.";
endif;
따라서 위의 if 문에서 먼저 이메일이 유효하지 않은지 확인하고 다음은 이메일이 존재하는지에 대한 것입니다.
따라서 더 깊이 이해할 수 있도록
save.php
에 대한 전체 소스 코드가 있습니다.<?php
// include config file
require_once 'config.php';
//a PHP Super Global variable which used to collect data after submitting it from the form
$request = $_REQUEST;
//get email address value
$email = $request['email'];
//get first name value
$first_name = $request['first_name'];
//get last name value
$last_name = $request['last_name'];
//get address value
$address = $request['address'];
// Defined $result as array
$result = [];
if(!isEmailValid($email)):
$result['has_error'] = 1;
$result['response'] = "Email address is invalid.";
elseif(isEmailExists($db, "employees", $email)):
$result['has_error'] = 1;
$result['response'] = "Email address is already exists.";
endif;
// Check if no errors
if(!count($result)):
// SQL Statement
$sql = "INSERT INTO employees (email, first_name, last_name, address)
VALUES ('".$email."', '".$first_name."', '".$last_name."', '".$address."')";
// Process the query
if ($db->query($sql)) {
$result['response'] = "Employee has been created.";
} else {
$result['response'] = "Error: " . $sql . "<br>" . $db->error;
}
// Close the connection after using it
$db->close();
endif;
// Encode array into json format
echo json_encode($result);
?>
그런 다음 이 튜토리얼에서 Ajax를 사용하고 있으므로 여기에서는 javascript 내부 코드를 작성하기 위해
scripts.js
이를 save() 함수라고 합니다.function save()
{
$("#btnSubmit").on("click", function() {
var $this = $(this); //submit button selector using ID
var $caption = $this.html();// We store the html content of the submit button
var form = "#form"; //defined the #form ID
var formData = $(form).serializeArray(); //serialize the form into array
var route = $(form).attr('action'); //get the route using attribute action
// Ajax config
$.ajax({
type: "POST", //we are using POST method to submit the data to the server side
url: route, // get the route value
data: formData, // our serialized array data for server side
beforeSend: function () {//We add this before send to disable the button once we submit it so that we prevent the multiple click
$this.attr('disabled', true).html("Processing...");
},
success: function (response) {//once the request successfully process to the server side it will return result here
response = JSON.parse(response);
// Check if there is has_error property on json response from the server
if(!response.hasOwnProperty('has_error')) {
// Reload lists of employees
all();
// We will display the result using alert
Swal.fire({
icon: 'success',
title: 'Success.',
text: response.response
});
// Reset form
resetForm(form);
} else {
// We will display the result using alert
Swal.fire({
icon: 'warning',
title: 'Error.',
text: response.response
});
}
$this.attr('disabled', false).html($caption);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
// You can put something here if there is an error from submitted request
}
});
});
}
그게 다야, 나는 당신이 그것으로부터 배우고 그것을 당신의 프로젝트에 적용하기를 바랍니다. 또한 이 튜토리얼의 전체 소스 코드를 다운로드하여 실제로 볼 수 있습니다. 이 코드를 다운로드하려면 여기https://codeanddeploy.com/blog/php/check-if-email-address-is-already-exists-in-the-database를 방문하십시오.
읽어 주셔서 감사합니다. 행복한 코딩 :)
Reference
이 문제에 관하여(이메일 주소가 데이터베이스에 이미 존재하는지 확인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/codeanddeploy/check-if-email-address-is-already-exists-in-the-database-4jf7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)