[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как отправить данные в базу
Страницы: 1, 2
AllesKlar
Цитата (Invis1ble @ 24.08.2015 - 18:00)
запись в БД - неидемпотентное действие, поэтому оно не должно осуществляться через GET-запрос

Аргументируй

_____________
[продано копирайтерам]
icedfox
AllesKlar, это ваше мнение, но меня оно не переубедило wink.gif
Я четко знаю, откуда и какие запросы будут идти. Запрещено все, разрешено выборочно.
По вашей логике, если будут ломать, зачем усложнять им жизнь ? Я с этим совсем не согласен, чем сложнее, тем больше школьников отсеется. Останутся профи, но они ценят свое время и ради побаловаться не станут напрягаться.
Вот такова моя точка зрения, немного отличная от вашей.
AllesKlar
Цитата (icedfox @ 24.08.2015 - 18:08)
Я четко знаю, откуда и какие запросы будут идти.

Интересно, это как? smile.gif
Чем будет отличаться ajax запрос, который улетел из моего браузера (с твоего сайта) от обычного post запроса, который я отправил из fuck.html со своего рабочего стола?
Цитата
По вашей логике, если будут ломать, зачем усложнять им жизнь ?

Нет, по моей логике, если хочешь быть уверен, что запрос был передан именно из ajax, то проверять именно это и нужно, а не то, был ли это post или get

_____________
[продано копирайтерам]
acerrusm
Цитата
Мой совет еще: при работе с аяксом, останавливай принудительно работу скрипта, после того, как скрипт отдаст необходимые данные. Иначе, на первых порах, шишек набъешь, не понимая, почему в браузере отображается правильно, а в базе, например, черт знает что.


Зачем нужно принудительно останавливать?
AllesKlar
Цитата (acerrusm @ 24.08.2015 - 18:17)
Зачем нужно принудительно останавливать?

Это был совет новичку.
Когда логика ветвления уже освоена и набито определенное кол-во шишек, то, конечно, ничего останавливать не нужно.

Иначе может получиться что-либо типа:
$a = $_GET['a'];
$b = $_GET['b'];
$sum = $a + $b;
echo $b;
$_SESSION['sum'] = $sum;

if($sum > 1000)
{
$_SESSION['sum'] = 0;
}


Пример надуманый, но, смысл, думаю, ясен. Обработчик данные уже отдал, а скрипт продолжает работать.

_____________
[продано копирайтерам]
icedfox
Цитата (AllesKlar @ 24.08.2015 - 22:12)
Интересно, это как?

Я имел в виду POST или GET
Цитата (AllesKlar @ 24.08.2015 - 22:12)
Чем будет отличаться ajax запрос, который улетел из моего браузера (с твоего сайта) от обычного post запроса, который я отправил из fuck.html со своего рабочего стола?

Как минимум будет отличие в хеше wink.gif
Цитата (AllesKlar @ 24.08.2015 - 22:12)
Нет, по моей логике, если хочешь быть уверен, что запрос был передан именно из ajax, то проверять именно это и нужно, а не то, был ли это post или get

Я разве говорил, что "только" так и никак иначе ? Естественно сам факт ajax запроса отлавливается по другому, вот только если он пришел через get , то выдаем 403 и сохраняем инфу для изучения.
Guest
Что то такой метод для записи данных в базу данных не идет, данные из отдельных полей не доходят (((

Вот у меня что получилось

<script type="text/javascript">
$(document).ready(function(){
$("#submit").click(function(){
$("#status").load("save_comments.inc.php","name="+$("#name").val()+"&email="+$("#email").val()+"&url="+$("#urlt").val());
})
});
</script>

</head>
<body>

<p
id="status"></p>
<?

if($errMsg) echo "<h3>$errMsg</h3>";
?>
<div
id="main">
<div
id="addCommentContainer">
<p>
Add a Comment</p>
<form
id="addCommentForm" method="post" action="">
<div>
<label
for="name">Твой Name</label>
<input
type="text" name="name" id="name" />
<label
for="email">Почту или телефон)</label>
<input
type="text" name="email" id="email" />
<label
for="body">Оставь отзыв </label>
<input
type="text" name="msg" id="msg" />
<!-- <textarea name="body" id="body" cols="20" rows="5"></textarea> -->

<input type="button" id="submit" value="Submit" />
</div>
</form>
</div>
</div>

<?


include 'get_comments.inc.php';
?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.