# ДоХтор (05.09.2016 / 22:25)ну автор хочет получить данные через гет
Тут неувязочка есть - он из формы отправит данные постом, а ты ищёшь в гет.
http://johncms.com/forum/index ... 72400
# ДоХтор (05.09.2016 / 22:25)ну автор хочет получить данные через гет
Тут неувязочка есть - он из формы отправит данные постом, а ты ищёшь в гет.
# Bahakz (05.09.2016 / 22:30)Автор ещё плохо ориентируется в коде, и вполне вероятно, что он не видит разницы между гет и пост массивами. А вот ты для него публиковал форму с методом передачи пост, и мог бы, как более опытный, догадаться об этом, и исправить автора, вместо того, чтобы вводить его, и всех остальных, в заблуждение.
ну автор хочет получить данные через гет
http://johncms.com/forum/index ... 72400
вдобавок начнет хватать 403, 401 и 502 или 400
взависимости от того какая хрень через гет у него полетит.
гет только для параметров годен.
текст надо через пост отсылать
Js код
<script>
function sendMessage() {
// callback формы, для отправки сообщений на сервер
if ($('#text').val()) {
var data = {
text: $('#text').val()
}
$.post('/add_new.php',data);
} else {
alert('Please fill the fields');
}
}
$(document).ready(function(){
// инициализация
var msg = new Messanger();
// При отправке формы
$('#myform').on('submit', function(e){
e.preventDefault();
// Вызываем функцию отправки
sendMessage();
});
});
</script><form method="post" id="myform">
Текст: <textarea name="text" id="text"></textarea>
<br>
<input type="submit" value="Отправить сообщение"/>
</form><?php
define('_IN_JOHNCMS', 1);
define('_IN_JOHNCMS', 1);
$last_id = (int)$_GET['id'];
include "incfiles/core.php";
$text = isset($_POST['text']) ? trim($_POST['text']) : '';
$error = array();
if(empty($error)) {
mysql_query("INSERT INTO `cms_news_comments` SET
`refid` = '$last_id',
`time` = '" . time() . "',
`user_id` = '" . $user_id . "',
`text` = '" . mysql_real_escape_string($text) . "';");
$_SESSION['error'] = '<div class="gmenu">' . $lng_news['added_message'] . '</div>';
} else {
$_SESSION['error'] = '<div class="rmenu">' . implode('<br />', $error) . '</div>';
}Udesign, смотри логи
Udesign, исправь два объявления константы
<?php
define('_IN_JOHNCMS', 1);
define('_IN_JOHNCMS', 1); $last_id = (int)$_GET['id'];$.post('/add_new.php',data);$error = array();
if(empty($error)) { # ramzes (06.09.2016 / 23:19)
$last_id = (int)$_GET['id'];
всегда будет 0
параметр не передается
$.post('/add_new.php',data);
так же и это бесполезный кусок. условие всегда будет true
$error = array();
if(empty($error))
$last_id = (int)$_GET['id'];ramzes, допустим я изменил вот так
<?php
define('_IN_JOHNCMS', 1);
include "incfiles/core.php";
$last_id =$id;
$text = isset($_POST['text']) ? trim($_POST['text']) : '';
mysql_query("INSERT INTO `cms_news_comments` SET
`refid` = '$last_id',
`time` = '" . time() . "',
`user_id` = '" . $user_id . "',
`text` = '" . mysql_real_escape_string($text) . "';");
$_SESSION['error'] = '<div class="gmenu">' . $lng_news['added_message'] . '</div>'; Udesign,
$error = [];
$text = isset($_POST['text']) ? functions::checkin($_POST['text']) : '';
if (empty($text)) {
$error[] = 'Введите текст сообщения!';
} elseif (mb_strlen($text) < 10) {
$error[] = 'Слишком короткий текст!';
}
if (!empty($error)) {
$ref = functions::checkin($_SERVER['HTTP_REFERER']) ;
echo functions::display_error($error, '<a href="'. $ref .'">Назад</a>');
} else {
echo $text;
}