Показать сообщение отдельно
  #3 (permalink)  
Старый 16.10.2019, 12:24
Профессор
Отправить личное сообщение для Manyasha Посмотреть профиль Найти все сообщения от Manyasha
 
Регистрация: 21.09.2015
Сообщений: 196

laimas,
какая отправка внутри ПО не знаю((
Через GET что-то по-любому передается, т.к. при переходе к следующей странице у ссылки появляется хвостик
"ciwweb.pl?s=17271717000006" (в s=всегда какие-то цифры).
Вот тестовый пример такой анкеты (все что создается программой, без моих скриптов): http://www.maronline.ru/marina/test/testlogn.htm

Я отправляю методом POST.
js:
$("form[name='mainform']").attr("onSubmit", "return false;")
$("form").on("submit", function(event){
	event.preventDefault();
	if(SSI_subVerify() == true){// Внутренняя функция, которая проверяет корректность введенных данных
		var elems = $("[type='radio'],[type='checkbox'],[type='text'],select,textarea");
		var answ = elems.serializeArray()
		answ_str = '';
		$.each(answ, function(i, e){
			answ_str += '\n' + e.name + "=" + e.value
		})

		var data = {
			"tbl": "WH_feedback",
			"pass": [%pass%],// Внутренняя переменная, хранит пароль на анкету
			"field": "page_"+[%PageNumber()+0%],// Внутренняя переменная, хранит номер страницы
			"answers": answ_str
		}
				
		$.ajax({
			type: "POST", 
			url: "../../../data_source/send_fb_page.php",
			dataType:"text",
			data: data
		}).always(function(response){
			if (response != "OK"){
				alert( "Произошла ошибка при отправке данных. Свяжитесь с разработчиком.\n" +response );
			}else{
				window.document.mainform.hid_javascript.value = 1;
				document.mainform.submit();
			}
		})
	}
})


php:
<?php
include 'config.php';

$tbl = $_POST['tbl'];
$pass = $_POST['pass'];
$field = $_POST['field'];
$answers = $_POST['answers'];

$res = mysqli_query($mysqli, 'SELECT * FROM '.$tbl.' WHERE pass = '.$pass);
$count = mysqli_num_rows($res);

if( $count > 0 ){
	$row = mysqli_fetch_array($res, MYSQLI_ASSOC);
	if ($row[$field]){
		$upd_answ = $row[$field] . PHP_EOL . date("Y-m-d H:i:s") . ': ' . $answers;
	}else{
		$upd_answ = date("Y-m-d H:i:s") . ': ' . $answers;
	}
	$stmt = mysqli_query($mysqli, 'UPDATE '.$tbl.' SET '.$field .'="'.$upd_answ .'" WHERE pass='.$pass);
	if ( false===$stmt ) {
	  die('update failed: ' . mysqli_error($mysqli));
	}
	printf('OK');
}else{
	$upd_answ = date("Y-m-d H:i:s") . ': ' . $answers;
	$stmt = mysqli_query($mysqli, 'INSERT INTO '.$tbl.' (pass, '.$field .') VALUES ('.$pass.', "'.$upd_answ.'")');
	if ( false===$stmt ) {
	  die('insert failed: ' . mysqli_error($mysqli));
	}
	printf('OK');
}

mysqli_close($stmt);
?>
Ответить с цитированием