Проверка формы Jquery и проверка значений с помощью базы данных Mysql с помощью PHP-скрипта

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

Вопрос

У меня есть форма, в которой есть текстовое поле ввода и кнопка отправки.

При отправке формы значение текстового поля должно быть передано 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";
    }

Предложите лучшее решение этой проблемы.

Это было полезно?

Решение

Это потому, что вы предупреждаете 'duplicate' независимо от того, каков результат 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