#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);
}
});
});
});