Что характерно, когда самостоятельно тестирую - данные записываются. Если пользователь нажимает на "сохранить" - первое поле не сохраняется, а остальные - нормально...
В файле posted.php значение field1 указано. Ткните носом пожалуйста, только доступно, если можно, а то я слабо разбираюсь в вопросе...
form.html
<?php
session_start();
?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<form>
<input type="text" onchange="Saveme('field1', this.value); checkme()" inputmode="numeric" />
<input type="text" onchange="Saveme('field2', this.value); checkme()" inputmode="numeric" />
<select onchange="Saveme('field3', this.value);">
<option value="test1">опция1</option>
<option value="test2">опция2</option>
</select>
<button id="pushme">сохранить</button>
</form>
<script>
function Saveme(name, value) {
$.ajax({ type: "POST", url: "/saver.php",
data: { 'GO-Function': "Saveme", 'name': name, 'value': value }
});
}
$("#pushme").click(function() {
$.ajax({ type: "POST", url: "/posted.php"
});
});
</script>
posted.php
<?php
session_start();
?>
<?php
$list = array (
array($_SESSION["field1"], $_SESSION["field2"], $_SESSION["field3"])
);
$fp = fopen('data.csv', 'a+');
foreach ($list as $fields) {
fputcsv($fp, $fields, '-', '—');
}
fclose($fp);
?>
saver.php
<?php
session_start();
header('Content-type: text/html; charset=UTF-8');
if($_SERVER['HTTP_X_REQUESTED_WITH'] != "XMLHttpRequest") {exit;}
if(!isset($_POST['GO-Function'])) {exit;}
if($_POST['GO-Function'] == "Saveme") {
$_SESSION[$_POST["name"]] = $_POST["value"];
exit;
}
?>