Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Дополнительные поля при добавлении комментариев

Дополнительные поля при добавлении комментариев


     31.07.2013    Общие вопросы по PHP    2594

вопрос
Всем привет!

В addcomments.tpl добавил следующий код:



    Ваша оценка приложению
    
    Положительная
    Нейтральная
    Отрицательная



Файл /modules/addcomments.php:

В запросе на добавление комментария добавил ... ( ... ,type) values ( ... ,'{$_POST['type']}')

В итоге из селекта как не крути ничего не уходит в базу. Все файлы облазил уже, не могу найти где поймать переменную, ибо раньше всё это делалось в addcomments.php, а сейчас он тупо игнорирует, даже если вписывать в аддкомментс.пхп эту строку:

$type = $db->safesql( $parse->process( trim( $_POST['type'] ) ) );


Не понимаю, почему он в упор не видит информацию из селекта?

Ответа пока нет


Комментарии пользователей (11)

TheImDim
18

327 | 291

TheImDim - 31 июля 2013 17:17 - Юзер

В запросе на добавление комментария добавил ... ( ... ,type) values ( ... ,'{$_POST['type']}')


Во первых, это хорошая дыра для SQL инъекции

Во вторых, какой код добавили в addcomments.tpl? Вижу парсер порезал все.

Попробуйте так:


[b]addcomments.tpl[/b]

<select size="3" multiple name="my_rating">
    <option disabled>Ваша оценка приложению</option>
    <option selected value="0">Нейтральная</option>
    <option value="1">Положительная</option>
    <option value="2">Отрицательная</option>
</select>

[b]/modules/addcomments.php[/b]

$my_rating = intval( $_POST['my_rating'] );

далее в запрос добавляем:

( ... ,type) values ( ... ,'$my_rating')


okeeee
15 | 3

okeeee - 31 июля 2013 17:42 - Юзер

Попробовал так, всёравно в базу не уходят данные из селекта, вообще не понимаю почему

На счёт $_POST согласен, это для теста, просто даже напрямую данные не идут

okeeee
15 | 3

okeeee - 31 июля 2013 18:36 - Юзер

Любой сторонний POST из формы добавления комментария не передаётся, не понятно почему

TheImDim
18

327 | 291

TheImDim - 31 июля 2013 18:49 - Юзер

Советую почитать про формы
Нужно <select> поместить в форму

TheImDim
18

327 | 291

TheImDim - 31 июля 2013 18:51 - Юзер

engine/modules/comments.php
строка ~ 105

okeeee
15 | 3

okeeee - 31 июля 2013 19:19 - Юзер

Следовательно шаблон добавления комментариев обрабатывается файлами comments.php и show.full.php, следовательно занося select либо input в шаблон добавления - он выводится именно в форме.

Но всёравно не понятно, почему не передаются новые поля и информация из POST

okeeee
15 | 3

okeeee - 31 июля 2013 18:57 - Юзер

В том то и дело,что DLE где-то обрабатывает шаблон addcomments.tpl таким образом, что содержимое шаблона заносится в форму. Не могу понять принцип работы, наворотили непойми что...

Раньше - залез в файл, добавил нужные поля и всё. Сейчас же еще кучу длешных файлов надо перерыть, чтобы что-то самому сделать в нужной форме.

Почему из шаблона другие поля работают, а если добавлять новые то нет?
Я уже и function перерыл и ajax и класс - нигде ничего нет. Но форма то где-то должна быть..

okeeee
15 | 3

okeeee - 31 июля 2013 19:01 - Юзер

И кстати обрабатывает её show.full.php (форма в нём)

okeeee
15 | 3

okeeee - 31 июля 2013 21:06 - Юзер

Любые попытки передачи сторонних данных игнорирует, работают иключительно стандартные

okeeee
15 | 3

okeeee - 4 августа 2013 15:04 - Юзер

Может дело в ajax?

Попробуйте кто нибудь добавить новое поле при добавлении комментария

swart
3

15 | 5

swart - 24 июня 2015 15:36 - Юзер

так никто и не разобрался с этим?

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы