Моя переменная jquery не проходит через php-файл методом POST - PullRequest
0 голосов
/ 28 июня 2019

Я хочу отправить переменную в php файл select.php, используя AJAX для заполнения таблицы на основе определенной даты, эта дата берется из поля ввода.

В моем скрипте AJAX у меня есть это для получения значения даты, когда я нажимаю на кнопку, проверяю, не является ли дата пустой строкой (если да, отправляю предупреждение о загрузке, чтобы предупредить пользователя), а затем пытаюсь использовать POST отправить переменную в мой select.php, которая выбирает таблицу на основе даты, которая должна прибыть через POST


$(document).on('click', '.b-request', function(){  
        var fecha = $(".datetimepicker-input").val();
        if(fecha == "")
        {
            $("#msj-alerta").html('<div class="alert alert-danger alert-dismissible"><button type="button" class="close">×</button><b>Heeeeeey</b><br>Date can\'t be blank!</div>');
            $('.alert .close').on("click", function(e){
                $(this).parent().fadeTo(500, 0).slideUp(500);
             });
        }
        else
        {
            $.ajax({   
                url:"select.php", 
                method:"POST",  
                data:fecha,   
                success:function(data)
                {  
                    //alert("Date entered: "+ fecha);
                    $('#live_data').html(data);    
                }  
            }); 

        }

Это PHP-файл select.php (только заголовок):

f(isset($_POST["fecha"]))
{
    $my_fecha = $_POST["fecha"];
    $connect = mysqli_connect($servername, $username, $password, $dbname);  
     $output = '';  
    $sql = "SELECT id, name, type FROM ms_resources.exceptions_new WHERE fecha = '".$my_fecha."';";

При запуске обоих кодов я получил ошибку:

Notice: Undefined variable: my_fecha 

Не знаете, почему переменная не достигает php, любая идея?

Спасибо

1 Ответ

2 голосов
/ 28 июня 2019

POST значения являются парами ключ / значение. Вы отправляете значение, но не ключ:

data:fecha

Имя *1005* этой переменной может иметь значение в этом контексте при использовании значения, но как только переменная разрешена и значение используется, имя перестает быть важным, и PHP об этом ничего не знает. Вам необходимо назначить ключ к значению. Например:

data: { fecha: fecha }

Затем вы используете ключ в PHP, чтобы получить значение:

$_POST["fecha"]

(Только по стечению обстоятельств ключ и переменная на стороне клиента в этом случае одинаковы. В этом нет необходимости).

<ч />

Не связанный, но важный, ваш серверный код также широко открыт для SQL-инъекции . Чтобы узнать больше о том, что это такое и как его предотвратить, это отличное место для начала .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...