Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#26 Re: "А как сделать..." » вывод результатов из MySQL на главную » 2012-01-16 20:48:48

ога, понял

$tvars['vars']['test'] = $*;
только как через эту функцию вывести все $mass['text'];
их надо както разбить или переписать?

#27 Re: "А как сделать..." » вывод результатов из MySQL на главную » 2012-01-16 20:06:06

да, заработало/ спасибо.

<?php
global $twig, $template, $SYSTEM_FLAGS, $mysql;
$query = 'SELECT * FROM '.prefix.'_hot ORDER BY id DESC';
		foreach ($mysql->select($query) as $row) {
            $mass []= array(
            'id' => $row['id'],
            'text' => $row['text'],
			'cd1' => $row['cd1'],
			'cd2' => $row['cd2'],
			        );
}

$u="321";

class PluginStaticFilter extends StaticFilter {

    function showStatic($staticID, $SQLnstatic, &$tvars) {
			
        $tvars['vars']['test'] = $u;
        }
}
 
register_filter('static','test', new PluginStaticFilter);
?>

фишка в том что внутри класса, я как понял, mysql запрос неработает. как передать в класс массив и как его правильно вывести?
мне нужно вывести все ячейки "text" заключив каждую в <div class="cl">
т.е. десять записей - 10 дивов.

#28 Re: "А как сделать..." » вывод результатов из MySQL на главную » 2012-01-16 18:17:00

всмысле вот эта связка?

class PluginStaticFilter extends StaticFilter {
        function showStatic($staticID, $SQLnstatic, &$tvars) {
 
        // ВАШ КОД
        $tvars['vars']['test'] = $*;
        }
}
 
register_filter('static','test', new PluginStaticFilter);

что такое $staticID, $SQLnstatic?
staticID понятно, я через phpMyAdmin могу узнать

но что-то у меня неполучается.
что ещё надо добавить.
в плагине .tpl ненужен?

#29 "А как сделать..." » вывод результатов из MySQL на главную » 2012-01-16 14:49:07

fedor-jan
Ответов: 8

салам!

На главной странице сайта отображается статика (стоит плагин). В статике переменные ads_pro и top_news. Нужно похожим образом вывести несколько элементов из таблицы MySQL. Впринципе это реализуемо через ads_pro php кодом, но в таком случае там засветятся логин и пароль к базе. Плагин написать который на отдельной странице всё будет выводить - нет проблем, но мне нужно потом это вывести блоком на главной - которая статика. Как зарегистрировать результаты плагина в переменную допустим {abc1} и вывести её на главной? Или можно проще?

#30 "А как сделать..." » как юзать @header? » 2012-01-14 15:35:57

fedor-jan
Ответов: 2

всап...
есть одна форма в плагине (.tpl + .php)

.php

if($_REQUEST['submit'])  {

получаем данные, проверяем
i=1 если всё ок
i=2 если нет

switch(i)  {
сase 1:
добавляем данные
@header("Location: /www.____.ru/");
break;

case 2: 

 break;
}
}

чёто непашет @header

и при неправильном заполнении формы надо както оставить страницу с заполненными полями.
впринципе правильность полей проверяется ещё и js'ом и кнопка добавить становится активной только когда всё правильно
но капчу я невьехал как им проверить

обьясните пожалуйста что тут нетак.

#31 Re: PHP/HTML/JS/CSS » как правильнее организовать работу вебформы? » 2012-01-05 10:02:10

в таком случае надо както её яваскриптом проверять?
как это сделать (капча родная)

#32 PHP/HTML/JS/CSS » как правильнее организовать работу вебформы? » 2012-01-04 18:28:47

fedor-jan
Ответов: 5

есть форма .tpl + .php проверка сначяала через js (если всё правильно - становится активной кнопка "submit"), потом через .php.
но черес js не проверятся капча.

как грамотнее сделать срабатываение, хочу редирект после нажания на "странца отпрапвлена" с которой автоматический переход на главную через 10сек.
но в случае неправильной капчи надо както чтобы форма не сбросилась, а вылезло сообщение про капчу.

распишите если возможно кусками кода.
или может лучше сделать не так.

#33 Re: PHP/HTML/JS/CSS » форма удаления записей из мускула, проблема с submit » 2012-01-03 11:17:38

аа, всё сорри разобрался сам.
посавил просто этот if  вначало кода, а вывод уже после него

#34 Re: PHP/HTML/JS/CSS » форма удаления записей из мускула, проблема с submit » 2012-01-03 11:14:06

if($_REQUEST['submit']){
	$ids = implode( ',', $_POST['id'] );
	$query = 'DELETE FROM '.prefix.'_table WHERE id IN ('.$ids.')';
	$mysql->select($query);	
			}

#35 PHP/HTML/JS/CSS » форма удаления записей из мускула, проблема с submit » 2012-01-03 11:07:45

fedor-jan
Ответов: 3

вобщем есть плагин - выводит данные из таблицы  MySQL с чекбоксом после каждой записи.
при субмите формы удаляет отмеченные записи.
всё работает, после нажатия submit страница перезагружается но выводит те записи которые удалены. при последующей перезагрузке страницы они естественно исчезают т.к. их в таблице уже нет.  как правильнее это обойти? может повесить ещё чтонибудь на sumbit?

#36 Re: PHP/HTML/JS/CSS » мутота с поиском » 2011-12-30 00:03:14

так как страничку зарезервировать и настроить вывод? в каких плагинах такое используется?

#37 Re: PHP/HTML/JS/CSS » мутота с поиском » 2011-12-29 23:12:29

гы, полез я туду через оперовский драгонфлай.

запрос отсылается правильно впринципе как на test.php так и на любую созданную там страницу. только не поступает ответ я как понял

ну создаю я .php в папке с плагинам и ориенитрую на него запрос
в нём для проверки такой код:

<?php

list($capacity, $type, $kcostf, $kcostt) = explode('undefined', $_REQUEST['username']);	
echo $capacity;

  
?>

чего нехватает почему не работает?

#38 PHP/HTML/JS/CSS » мутота с поиском » 2011-12-29 21:29:12

fedor-jan
Ответов: 5

вобщем, сделал я себе поиск,всё работает но вот беда - после нажатия кнопки "submit" страница перезагружается выводит результат а значения в форме введёные сбиваются и исчезают.
какой самый прямой способ это дело организовать (в форме есть текстовые поля и <input>'ы c <option>'ами ).

у меня есть реализация этой идеи но не в плагине, а в связке .html .php которая на вашем двиге работает:

.html

<script>   
$del="/";
        $(document).ready(function(){   
           
            $('#myForm').submit(function(){   
                $.ajax({   
                    type: "POST",   
                    url: "{admin_url}/plugins/test/test.php",   
                    data: "username="+$("#inp1" ).val() + $("#del").val() + $("#inp2").val()+ $("#del").val()+ $("#inp3").val()+ $("#del").val()+ $("#inp4").val(),
                    success: function(html){   
                        $("#content").html(html);   
                    }             
                });   
                return false;   
            });   
               
        });   
    </script>
ну и тут форма id="myForm"

.php

list($srch1, $srch2, $srch3, $srch4) = explode('undefined', $_REQUEST['username']);

explode('undefined'... - это потомучто $del="/"; неработает, но смысл я думаю понятен.

я щас попытался это всё в плагин перенсти
то что в .html воткнуть в .tpl но .php плагина никак нехочет эти переменные вылавливать.
может я путь к нему неправильно написал, в чём может быть проблема? (jquery я подключил)

или это можно легче решить?

#39 "А как сделать..." » Закрыть страницу от незарег. юзеров, фишки $userROW » 2011-12-26 21:40:04

fedor-jan
Ответов: 1

всап пагни,
вобщем решил что-то вроде личного кабинета для пользователя запилить, т.е. тех кто не залогинен - непускать

впринципе с uprofile'я упёр скрипт

	if (!is_array($userROW)) {
		msg(array("type" => "error", "text" => $lang['uprofile:msge_notlogged']));
		return;
	}

перед этим в глобале соответственно $userROW обазначил.

вроде всё работает, но чует моё сердце что чегото нехватает. так пойдёт или нет?


и как мне замутить переменную содержащую в себе имя user'a?

#40 Re: "А как сделать..." » помогите сделать поиск » 2011-12-25 22:19:42

всё заработало, спасибо.

вроде переменная задана, не через шаблонизатор у меня такой код прокатывал

#41 Re: "А как сделать..." » помогите сделать поиск » 2011-12-25 22:09:25

.tpl

<form action="" method="post">
<select name="a">
<option value="1">1</option>
<option value="2">2</option>
</select>
<select name="b">
<option value="1">1</option>
<option value="2">2</option>
</select>
<input type="submit" name="submit" value="Разместить" />
</form>
{% for entry in entries %}
{{entry.a}}
{{entry.b}}
{% endfor %}

.php

<?php
if (!defined('NGCMS'))
    exit('HAL');

register_plugin_page('test','','plugin_test');

function plugin_test()
{global $twig, $template, $SYSTEM_FLAGS, $mysql;
    
    $SYSTEM_FLAGS['info']['title']['group'] = 'Проверка тестовой страницы';
    
    $tpath = locatePluginTemplates(array('test'), 'test', 1);
    
    if($_REQUEST['submit']){
        $a=$_POST['a'];
        $b=$_POST['b'];
		
		print $a;
                        
        $query = 'SELECT * FROM '.prefix.'_adds WHERE a="$a"';
        foreach ($mysql->select($query) as $row) {
        $tRecs []= array(
            'a' => $row['a'],
            'b' => $row['b']  ); 
  }
     }
    $tVars = array(  'entries' => $tRecs );   
    $xt = $twig->loadTemplate($tpath['test'].'test.tpl');
    
    $template['vars']['mainblock'] = $xt->render($tVars);
}

чегото нехватает помоему, записи со значением=1 есть, print срабатывает, но результаты не выводятся
если  if($_REQUEST['submit']) убрать и вместо переменной в запрос "1" вбить всё выводится

#42 Re: "А как сделать..." » помогите сделать поиск » 2011-12-25 21:37:26

я просто не везжаю как мне зарегистрировать результаты поиска элементом и вывести его

#43 "А как сделать..." » помогите сделать поиск » 2011-12-25 21:28:20

fedor-jan
Ответов: 7

вечер в хату уважаемые.

есть таблица в мускуле "ng_adds", в ней два столбца "A" и "B" внутри произвольная фигня.

хочу сделать поиск типа:  SELECT FROM ng_adds where A="значение1" AND B="значение2"

"значение1" и "значение2" из формы поиска берётся.

логичнее было-бы сразу после нажатия кнопки submit ниже формы выводить таблицу с результатами. и при повторном нажатии кнопки submit получать значения снова и таблицу менять.

с AJAX'ом заморачиваться нехочу, в дефолтном search.php без аякса всё сделано, но я там непонял фишки с подключением news.php.

мне помоему с такими подключениями заморачиваться не прийдётся.

вобщем пилю плагин
- в .tpl сую форму c инпутами "значение1" и "значение2"
- в .php их

if($_REQUEST['submit']){
query= 'SELECT FROM ng_adds where A=$_POST ['значение1"] AND B=$_POST ['значение2"]';
foreach ($mysql->select($query) as $row) {
        $tRecs []= array(
            'a' => $row['a'],
            'b' => $row['b']   ); 
  }
 $tVars = array(
        'entries' => $tRecs
    );
    
	$xt = $twig->loadTemplate($tpath['test'].'test.tpl');
	
    $template['vars']['mainblock'] = $xt->render($tVars);

}

но как мне результат вывести сразу, ниже формы, допусти в div'е каком-нибудь?

#44 Re: "А как сделать..." » как запилить капчу и сделать переход на другую страницу по submit'у » 2011-12-24 18:48:09

всё, сорри за флуд, разобрался.
заработало.

но это помоему неправильно и ситуация такая - форм 8 штук, они в табах яваскриптовских, как правильнее прикрутить к каждой форме по капче?

#45 Re: "А как сделать..." » как запилить капчу и сделать переход на другую страницу по submit'у » 2011-12-24 18:35:49

$_SESSION['captcha'] = rand(00000, 99999);
		$tvars['vars']['captcha'] = '';
		$tvars['regx']["'\[captcha\](.*?)\[/captcha\]'si"] = '$1';

добавил в .php
капчп начала генерироваться, но когда я нажимаю submit, то генерируется новый код и он соответственно несовпадает ниразу с тем что ввёл юзер

#46 Re: "А как сделать..." » как запилить капчу и сделать переход на другую страницу по submit'у » 2011-12-24 18:13:05

добавил в .tpl

<img src="{admin_url}/captcha.php">
<input class="important" type="text" name="vcode" maxlength="5" size="30" />

и в .php проверку

$captcha = $_REQUEST['vcode']; if (!$captcha || ($_SESSION['captcha'] != $captcha)) {$i=2; echo "ошибка в поле captcha";}

но помоему я херню написал, и генерирует она тока 22915 с разным фоном

#47 "А как сделать..." » как запилить капчу и сделать переход на другую страницу по submit'у » 2011-12-24 16:55:56

fedor-jan
Ответов: 3

есть две формы

<form action="" method="post">
<select name="a">
<option value="1">1</option>
<option value="2">2</option>
</select>
<select name="b">
<option value="1">1</option>
<option value="2">2</option>
</select>
<input type="submit" name="submit" value="Разместить" />
</form>
<form action="" method="post">
<select name="c">
<option value="1">1</option>
<option value="2">2</option>
</select>
<select name="d">
<option value="1">1</option>
<option value="2">2</option>
</select>
<input type="submit" name="submit" value="Разместить" />
</form>
<?php
if (!defined('NGCMS'))
    exit('HAL');

register_plugin_page('test','','plugin_test');

function plugin_test()
{global $twig, $template, $SYSTEM_FLAGS, $mysql;
    
    $SYSTEM_FLAGS['info']['title']['group'] = 'Проверка тестовой страницы';
    
    $tpath = locatePluginTemplates(array('test'), 'test', 1);
    
    if($_REQUEST['submit']){
        $a=$_POST['a'];
        $b=$_POST['b'];
        $c=$_POST['c'];
        $d=$_POST['d'];
        print 'Форма отправлена';
        
        //form1
        if( isset($a) && isset($b) )
            $mysql->query('INSERT INTO '.prefix.'_adds 
                        (a, 
                        b) 
                        VALUES 
                        (    '.db_squote($a).',
                            '.db_squote($a).',
                        )
            ');
        //form2
        if(isset($c) && isset($d))
            $mysql->query('INSERT INTO '.prefix.'_adds2 
                        (c, 
                        d) 
                        VALUES 
                        (    '.db_squote($c).',
                            '.db_squote($d).',
                        )
            ');
    }
    
    $xt = $twig->loadTemplate($tpath['test'].'test.tpl');
    
    $template['vars']['mainblock'] = $xt->render($tVars);
}

как к ним приделать встроеную капчу (к каждой форме по капче)
и сделать по нажатию кнопки переход на страницу, с результатом типа  "всё сработало" или - "несработало".

#48 Re: "А как сделать..." » разбираюсь в плагинной системе, есть вопрос » 2011-12-17 14:20:27

<?php
if (!defined('NGCMS'))
    exit('HAL');

register_plugin_page('test','','plugin_test');

function plugin_test()
{global $twig, $template, $SYSTEM_FLAGS, $mysql;
    
    $SYSTEM_FLAGS['info']['title']['group'] = 'Проверка тестовой страницы';
    
    $tpath = locatePluginTemplates(array('test'), 'test', 1);
    $tRecs = array();
    $query = 'SELECT a, b FROM '.prefix.'_adds';
    foreach ($mysql->select($query) as $row) {
    $tRecs []= array(
            'a'        =>    $row['a'],
            'b'        =>    $row['b']
                    );

}
 	      
    $xt = $twig->loadTemplate($tpath['test'].'test.tpl');

    
    
    $template['vars']['mainblock'] = $xt->render($tVars);
}
?>

сделал так - неработает.
как правильно использовать trecs?

#49 Re: "А как сделать..." » разбираюсь в плагинной системе, есть вопрос » 2011-12-15 23:04:17

я продалжаю разбираться.
нужно настроить вывод.
я седлал

.php

<?php
if (!defined('NGCMS'))
    exit('HAL');

register_plugin_page('test','','plugin_test');

function plugin_test()
{global $twig, $template, $SYSTEM_FLAGS, $mysql;
    
    $SYSTEM_FLAGS['info']['title']['group'] = 'Проверка тестовой страницы';
    
    $tpath = locatePluginTemplates(array('test'), 'test', 1);
    
	$query = 'SELECT a, b FROM '.prefix.'_adds';
	foreach ($mysql->select($query) as $row) {
	$tVars = array(
			'a'		=>	$row['a'],
			'b'		=>	$row['b']
					);}
	      
    $xt = $twig->loadTemplate($tpath['test'].'test.tpl');

    
    
    $template['vars']['mainblock'] = $xt->render($tVars);
}
?>

.tpl

{{a}}{{b}}

выводит только последние значения из таблицы.

a и b надо както array'ами задать?

настроить путь к создаваемой странице каким способом можно? (хочу чтоб красиво /test/   а не /plugin/test/)

Подвал раздела

Работает на FluxBB