PHP и AVS: настройка видео-комментариев? - PullRequest
0 голосов
/ 16 марта 2011

Я пытаюсь изменить форму в фреймворке, и я действительно не знаю, что происходит.

Форма выглядит так:

<form name="postVideoComment" id="postVideoComment" method="post" action="#">
                    <input type = "text" id = "user_handle" name = "user_handle" class="video_comment">
                <textarea name="video_comment" id="video_comment" cols="100" rows="5" class="video_comment"></textarea>
                <div id="post_message" class="post_message" style="display: none;">{t c='global.comment_empty'}</div>
                <div class="action"><span id="chars_left">1000</span> {t c='global.chars_left'}</div>
                <div class="action">
                    <input name="submit_comment" type="button" value=" {t c='global.post'} " id="post_video_comment_{$video.VID}" class="button" />
                </div>
                <div class="clear_left"></div>
            </form>

Однако каким-то образом ввод с идентификатором user_handle не передается в форму. Эта форма отправляется в файл video_comment.php, который ведет себя так, что я не могу понять (например, он использует $ filter-> get ('comment') для получения комментария; где идет этот комментарий, я понятия не имею. Но он работает очень хорошо для комментариев, за исключением того, что игнорирует мой user_handle:

    $data   = array('msg' => '', 'code' => '', 'vid' => 0, 'cid' => 0);
if ( isset($_POST['video_id']) && isset($_POST['comment']) ) {
    if ( $config['video_comments'] == '0' ) {
        $data['msg'] = 'Video comments are currently disabled!';
    } else {
        $spam   = false;
        if ( isset($_SESSION['v_comment_added']) ) {
            $delay  = intval($_SESSION['v_comment_added'])+30;
            if ( time() < $delay ) {
                $spam = true;
                $_SESSION['v_comment_added'] = time();
            }
        }

        $filter         = new VFilter();
        $uid            = '1';
        $vid            = $filter->get('video_id', 'INTEGER'); 
        $user_handle    = $_POST['user_handle'];
        $comment        = $filter->get('comment');
        var_dump($_POST);
        $sql            = "INSERT INTO video_comments ( VID, UID, comment, user_handle, addtime )
                           VALUES (" .$vid. ", " .$uid. ", '" .mysql_real_escape_string($comment). "', '" .mysql_real_escape_string($user_handle). "', '" .time(). "')";
        $conn->execute($sql);

Любая помощь приветствуется !!! Спасибо!

1 Ответ

0 голосов
/ 05 апреля 2011

Я думаю, что класс "VFilter" может очищать данные POST, чтобы обеспечить доступ к этим данным только через экземпляр $ filter. Посмотрите на этот класс, я думаю, что есть сопоставление имен переменных POST с короткими, такими как 'comment'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...