PHP Передает значение из переменной с помощью Js на другую страницу

#javascript #php #database #variables #mysqli

Вопрос:

Я пытаюсь передать переменную на другую страницу с помощью JS.

У меня есть функция поиска, которая передает значение на мою страницу поиска с моей таблицей. Теперь я должен передать значение поиска на другую страницу, когда что-то обновляется.

Я попробовал это с помощью этого кода:

Переменная (в search.php):

 $searchq= $_POST['search'];
$searchq= preg_replace("/[^0-9a-z}/i","",$searchq);
 

И JS для того, чтобы его пропустили:

 <script>
$(function() {
    $(".lieferclassone").change(function (e){
        var liefertone = $(this).val();
        var search ="<?php echo $searchq ?>"
        var info = {liefertone: liefertone};
        $.ajax({
            type : "POST",
            url : "searchcheck.php",
            data : info, search,
            success : function(response) {
                          $('#customers').html(response);
                        }
        });
    });
});
</script>
 

liefertone это мой флажок, который обновляет столбец, в котором он находится.

searchcheck.php:

 $searchq = (isset($_POST['search']) amp;amp; !empty($_POST['search'])) ? $_POST['search'] : null;
 echo $searchq;
 

Но на другой странице мое эхо ничего не получает, что я делаю не так?

с уважением!

Комментарии:

1. Попробуйте использовать сеанс или файлы cookie

2. Примечание сбоку: нет необходимости isset , когда вы используете !empty , он проверит, установлена ли переменная.

3. data : info, search, идентификатор не указывает, как вы отправляете несколько переменных в качестве данных. Все это должно быть в пределах одного объекта.

4. спасибо, ребята, теперь это работает ^^. похоже, это решение, РиггсФолли, я думал, что уже пробовал, но, похоже, я написал что-то не так.. @El_Vanja Спасибо, я попробую ^^

Ответ №1:

Это передаст все данные из вашего JS, предполагая, что

 var search ="<?php echo $searchq ?>"
 

на самом деле это делается как часть выполнения PHP-скрипта, потому что, конечно, вы не можете запускать PHP-код в браузере, в котором запускается javascript

 $(function() {
    $(".lieferclassone").change(function (e){
        var search = "<?php echo $searchq; ?>";
        $.ajax({
            type : "POST",
            url : "searchcheck.php",
            data : {liefertone: $(this).val(), search: search},
            success : function(response) {
                          $('#customers').html(response);
                        }
        });
    });
});