Что вы хотите сделать с $.post
, так это включить ваши данные следующим образом:
$.post("index.php", {screenResolutionW: screenResolutionW, screenResolutionH: screenResolutionH})
, где первая из пары является идентификатором POST (['screenResolutionW']
), а вторая из пары это значение переменной.
Вы также захотите изменить свои идентификаторы POST для цитирования:
$screenResolutionW = $_POST['screenResolutionW'];
$screenResolutionH = $_POST['screenResolutionH'];
В противном случае вы получите предупреждение о константах. Я также исправил орфографию в этих переменных, чтобы отразить то, что вы пытаетесь записать в свой файл.
fwrite($fh, 'Screen res: '."".$screenResolutionW .'x'."".$screenResolutionH ."\r\n");
РЕДАКТИРОВАТЬ
Часть проблемы что вы никогда не вызываете функцию для ее выполнения. Вот ваш HTML с предложениями, которые я предложил, плюс вызов функции:
EDIT TWO
Добавлен обработчик загрузки для документа:
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"> </script>
</head>
<body>
<script>
function getScreenResolution() {
var screenResolutionW = screen.width;
var screenResolutionH = screen.height;
console.log(screenResolutionW + ' ' + screenResolutionH);
$.post("index.php", {screenResolutionW: screenResolutionW, screenResolutionH: screenResolutionH})
}
</script>
</body>
<script type="text/javascript">
$(function() {
getScreenResolution();
});
</script>
</html>
ДРУГИЕ ЗАМЕЧАНИЯ
Вы действительно должны отделить код PHP и поместить его в другой файл, потому что при запуске страницы, как сейчас, вы должны получить одну строку logged, у которого нет переменных при первоначальном запуске страницы, затем одна записанная строка, когда JavaScript срабатывает после загрузки страницы.
Затем после разделения вы не должны запускать ваш PHP до тех пор, пока вы не проверите на наличие переменная, например:
if(isset($_POST['screenResolutionW'])) {
// your code to write to the file here
}
РЕДАКТИРОВАТЬ ТРИ
Я поместил все JavaScript в один и тот же блок скрипта в заголовке файла и получил протестировано снова:
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"> </script>
<script type="text/javascript">
$(function() {
function getScreenResolution() {
var screenResolutionW = screen.width;
var screenResolutionH = screen.height;
console.log(screenResolutionW + ' ' + screenResolutionH);
$.post("post_test.php", {screenResolutionW: screenResolutionW, screenResolutionH: screenResolutionH})
}
getScreenResolution();
});
</script>
</head>
<body>
</body>
</html>
Здесь вы видите, что переменные публикуются: ![enter image description here](https://i.stack.imgur.com/8DIeS.png)