PHP 스크립트를 통해 MySQL 데이터베이스를 사용하여 jQuery 양식 검증 및 확인

StackOverflow https://stackoverflow.com/questions/1165805

문제

입력 텍스트 상자와 제출 버튼이있는 양식이 있습니다.

양식을 제출하면 TextBox 값이 PHP 스크립트로 전달되고 MySQL 데이터베이스에 존재하는지 여부를 확인해야합니다. 그것이 존재한다면 "입력 된 값이 이미 존재한다는 경고 상자를 보여 주어야합니다. 새로운 것을 시도하십시오". 값이없는 경우 양식을 양식에있는 PHP 스크립트에 제출할 수 있습니다.

jQuery로 시도했는데 코드는 다음과 같습니다.

 $(document).ready(function() {

        $("#form_add").submit(function () {
        var pval = $("#name").val(); 
        var datastring = 'pname'+pval;
        $.post("unique_valid.php", {pname:pval }, function (data){
                alert('duplicate');
            });
            return false;
        }); 
});


이 코드의 문제는 모든 경우에 경고 상자를 표시하지만 값이 데이터베이스에 존재하지 않으면 양식을 제출할 수 없습니다.

PHP 코드 :

$pname = $_POST['pname'];
if( $pname == $row['name']){
        echo "success";
    }else{
        echo "failure";
    }

이 문제에 대한 더 나은 솔루션을 제안하십시오.

도움이 되었습니까?

해결책

PHP 출력이 무엇이든 '중복'을 경고하기 때문입니다. 값을 확인하십시오 data 다음과 같이 경고하기 전에 :

$(document).ready(function() {

        $("#form_add").submit(function () {
        var pval = $("#name").val(); 
        var datastring = 'pname'+pval;
        $.post("unique_valid.php", {pname:pval }, 
                   function (data){
                        if(data == 'failure'){
                            alert('duplicate');
                        }else{
                            alert('not a duplicate'); 
                        }
                });
                return false;
        }); 
});

그리고 PHP 코드가 복제본이 아닌 경우 실제로 레코드를 저장한다고 가정합니다 (코드가 많이 표시되지 않음).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top