Похоже, ваш javascript перезагружает страницу.
Вы включили ajax js, но я не вижу звонков Ajax. Самый простой способ - заставить PHP прослушивать AJAX запросы и ТОЛЬКО выдавать JSON перед выходом. поэтому перед включением заголовков, возможно, после некоторых основных файлов, которые перенаправляют только в том случае, если не вошли в систему, но убедитесь, что они ничего не выводят на обслуживаемое устройство, или запрос ajax завершится неудачно с указанием недопустимого json полученного..страница. php:
page.php:
$passwordhash= '$2y$10$dklsjfkljklsdjlkfjdksljflkjdslf.kjdhfjkdshkjfhkjdshfkjshfkjhkjdskdfhkjdshkjf';
if ($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST['AJAX']) && password_verify($_POST['SECRET'], $hash)) {
$results = someSQLquery();
echo json_encode(results);
exit;
}
include('header.php';
<button onclick="morePlease();">More</button>
<script>
function morePlease(){
var dataToSubmit = $('#myform').serializeArray();
//a secret/key might be enough, but setting ajax reminds me not to have DOM elements up there.
dataToSubmit.push({name: "secret", value: $("input[name=secret]").val()});
dataToSubmit.push({name: "AJAX", value: true});
$.ajax({
type: 'POST',
data: dataToSubmit
//url: anotherMachine.php
})
.done(function(response){
console.log('Submitted form successfully. Response:');
console.log(response == null ? "Null response." : response);
JSON.parse(response);
})
.fail(function() {
console.log('Failed submitting form.');
});
}
</script>
Вы также можете просто обойти весь процесс и предоставить данные до того, как переменная увидит EOL, никаких квестов, кроме того, который вы обслуживаете.:
javascript на обслуживаемой странице PHP:
<script>
var wtf = JSON.parse( <?= $thinAir ?>; );
</script>