• Как загрузить файл и записать его имя в бд?

    @viktorross Автор вопроса
    Дмитрий, я что-то пока ковырял это , скрипт вообще перестал работать, проверил уже тысячу раз все, все правильно, но не работает

    посмотрите пожалуйста, может вы что-то поймете

    function add_ban() {
    
    		global $db;
    
    		$this->clean=array();
    		$this->clean['title'] = escape($_POST['title']);
    		$this->clean['location'] = escape($_POST['location']);
    		$this->clean['max_clicks'] = escape($_POST['max_clicks']);
    		$this->clean['max_impressions'] = escape($_POST['max_impressions']);
    		$this->clean['link'] = escape($_POST['link']);
    		$this->clean['position'] = escape($_POST['position']);
    
    		$db->query('insert into `class_banners` set `title` = "'.$this->clean['title'].'",`location` = "'.$this->clean['location'].'",`max_clicks` = "'.$this->clean['max_clicks'].'",`max_impressions` = "'.$this->clean['max_impressions'].'",`link` = "'.$this->clean['link'].'",`position` = "'.$this->clean['position'].'";');
    
    		return 1;
    
    	}


    функция пока без id и фото, т.к и так не понятно что сломалось

    вызов

    $ctyp=new users();
    if(isset($_POST['now_ads'])){
    	if(!$ctyp->add_ban()) {
    	} else {
    		header ('Location: ads.php');
    		exit(0);
    	}
    }


    <form name="bg" method="post" action="">
    
    <input type="text" name="title" value="" size=5 maxlength="20" />
    <br/>
    <br/>
    <input type="text" name="location" value="" size=5 maxlength="20" />
    <br/>
    <br/>
    <input type="text" name="max_clicks" value="" size=5 maxlength="20" />
    <br/>
    <br/>
    <input type="text" name="max_impressions" value="" size=5 maxlength="20" />
    <br/>
    <br/>
    <input type="text" name="link" value="" size=5 maxlength="20" />
    <br/>
    <br/>
    <select name="position" value="">
    <option value="header">Header</option>
    </select>
    <br/>
    <br/>
    <input type="submit" class="button positive" name="now_ads" id="now_ads" value="{$lng.general.submit}" />
    
    </form>


    правильно же все вроде бы
  • Как загрузить файл и записать его имя в бд?

    @viktorross Автор вопроса
    wagoodoogoo, хорошо, а как фотку загрузить и передать в бд?
  • Как загрузить файл и записать его имя в бд?

    @viktorross Автор вопроса
    wagoodoogoo она раньше идёт, я так ее по всему файлу вызываю чтобы id подставлять в бд, но именно в этой функции она почему-то не вставляет значение
  • Почему не срабатывает onclick?

    @viktorross Автор вопроса
    Ice, в том и дело, что я пробовал с разных устройств и браузеров, плюс обычно фиксируется каждый клик, и в день их набирается штук 200, а тут я заметил что 20-30, начал проверять и понял ,что это дело перестало работать с их блоками, только с моими, может быть можно добавить какое-то правило типа no conflict? Может это конфликт какой-то скриптов или jquery, они ведь по-любому тоже его используют
  • Почему не срабатывает onclick?

    @viktorross Автор вопроса
    Ice, пробовал, если скрипт Яндекса или гугла(Гугл вообще 1 из 100 всегда фиксировалось), то не фурычит, если Мой код например картинка, то клик записывает в базу, прикол в том что это работало всегда, но перестало пару дней назад, могут ли они со своей стороны, своим скриптом это блокировать?
  • Почему не срабатывает onclick?

    @viktorross Автор вопроса
    Ice , не совсем понял, как целиком это должно выглядеть вместе с success и вызовом функции?

    function HjshGSDB(c, b) {
    	  const url_str = b + "/include/get_info.php";
    	  $.ajax({
    	    method: "GET",
    			cache		: false,
    	    url: url_str,
    	    data: { 'type': "user_q", 'id': c },
    		}).done(d => {
    		location.reload(true);
    }
    	}


    Вот так? тоже не работает..

    есть такой вариант что они тупо придумали как заблокировать onclick, чтобы не отслеживали сколько кликов?
  • Почему не срабатывает onclick?

    @viktorross Автор вопроса
    Петр Мухуров, Сослан Хлоев, Консоль пустая, ошибок нет вообще. Сначала идёт баннер, потом сразу скрипт, пробовал наоборот, не работает, точнее через раз, некоторые клики все-таки записываются, из 100 около 30 это касается только сторонней рекламы, свои баннеры 100 из 100 запишутся, jquery в head подключён
  • Как можно отправить данные формы из шаблона smarty на сервер?

    @viktorross Автор вопроса
    Pavel Omelchenko, нет к сожалению, не понятно как передать данные из обработчика в файл где происходит сам запрос в базу данных, т.е сначала данные формы отправляются в php файл обработчик формы, допустим это сработало, но пока что не работает, потом из обработчика полученные данные нужно отправить в файл с классами, т.к именно там будет подставляться id пользователя и соответствующие поля

    Т.е вот сюда подставлять полученные данные

    function trasactionSend($id='') {
        global $db;
    
        $transaction_to_account=$db->query("update `class_users` set `paramtr` = `$parametr` and `paramtr2` = `$parametr2` where `id`='$id'");
        }
  • Как можно отправить данные формы из шаблона smarty на сервер?

    @viktorross Автор вопроса
    Pavel Omelchenko, подскажите как? дело в том что php у меня отключено, якобы это не безопасно, и перенесено в отдельные файлы, в которых происходит только связывание с уже классами php они вообще в других файлах, принцип такой что есть классы, есть php обработчик этих классов который выводит уже информацию в шаблон, путем вызова классов, не совсем понятно что делать нужно, получить то из бд какие-то данные проблем нет, а вот передать их в бд это уже проблема
  • Как заменить null в implode на 0?

    @viktorross Автор вопроса
    Дмитрий, оо, наконец-то заработало, спасибо вам огромное еще раз, сидел ковырялся, сто раз возвращал просто return $ get_tr , и с условиями, по-разному, буду теперь знать))
  • Как заменить null в implode на 0?

    @viktorross Автор вопроса
    Дмитрий, не совсем понял что нужно сделать, посмотрите пожалуйста еще раз, вот весь запрос

    $get_pay_transactions=$link->query("select count(*) from `class_get_credits` where `user_id`='$id' and `email`='$email_get' and `active`=1 order by id desc limit 1");
    		$get_pay_tr = mysqli_fetch_row($get_pay_transactions);
    		$imp_st = implode($get_pay_tr);
    
    		return $imp_st;
  • Почему не срабатывает fetchRow?

    @viktorross Автор вопроса
    Дмитрий , все разобрался

    $string = implode(", ", $get_pay_tr);
    return $string;


    спасибо большое за помощь)
  • Почему не срабатывает fetchRow?

    @viktorross Автор вопроса
    Дмитрий подскажие пожалуйста, я сделал так

    $get_pay_transactions=$link->query("select count(*) from...
    $get_pay_tr = mysqli_fetch_row($get_pay_transactions);
    		return $get_pay_tr;


    как мне подставить в то что возвращается return количество найденных строк в get_pay_tr ?

    т.е не массивом а строкой выводить

    нужно получить в return цифру чтобы в шаблон выводить потом
  • Как подключить 2 разные бд?

    @viktorross Автор вопроса
    zorca, вообще задача взять 2 значения из одной базы данных

    $get_balance=users::getUsdderCreditsForMenu($id);
    $email_get=users::getEmail($id);
    
    //эти 2 функции работают 100% корректно


    из них берем email и баланс

    затем подключаемся к совершенно другой базе данных

    $host = 'localhost';
        $database = 'test_one';
        $user = 'root';
        $password = '';
        $link = mysqli_connect($host, $user, $password, $database) or die("Ошибка: ".mysqli_error($link));


    и формируем запрос

    $transaction_to_account=$link->query("update `class_users` set `credits` = 'credits'+$get_balance where `email`='$email_get'");
    
    if(!$transaction_to_account)return 0;
      return $transaction_to_account;


    он должен обновить баланс во второй базе данных приплюсовав значение полученное здесь, если значение email полученное в $email_get совпадает

    $email_get=users::getEmail($id);

    $get_balance=users::getUsdderCreditsForMenu($id);

    вызываю функцию так

    case 'sjsfa':
    				require_once $config_abs_path."/classes/users.php";
    				$id = get_numeric_only("id");
    				$click_ra=new users();
    				$click_ra->trasactionCredits($id);
    			break;


    <input onclick="clickTransAction({if $get_id_usr}{$get_id_usr}{/if},'{$live_site}');" class="buttton" value="отправить"/>
    
      <script>
      	function clickTransAction(c, b) {
      	  url_str = b + "/include/get_info.php";
      	  $.ajax({
      	    method: "GET",
      			cache		: false,
      	    url: url_str,
      	    data: { 'type': "sjsfa", 'id': c },
      	    success: function(d) {
      				location.reload(true);
      			}
      	  })
      	}
      	</script>


    проблема в том что скрипт не работает , и лог пустой, по этому поводу ошибок нет
  • Как подключить 2 разные бд?

    @viktorross Автор вопроса
    Антон, да, $db лишний случайно не убрал , но без него тоже не работает
  • Как подключить 2 разные бд?

    @viktorross Автор вопроса
    zorca, что значит хотя бы одну базу ? $db и есть первое подключение, работает по всем функциям в этом файле корректно, второе подключение проверял на другом скрипте , работало, в этом нет
  • Ошибка в коде php?

    @viktorross Автор вопроса
    DevMan, не знаю почему, но откуда-то он все равно берет ##currency##, при этом я их удалил
  • Ошибка в коде php?

    @viktorross Автор вопроса
    DevMan, сейчас попробовал по-другому сделать, проблема в шаблоне, а именно в генерации ссылки

    {if !isset($post_array) || !$post_array}{$post_array=array()}{/if}
    
    {if $seo_settings.enable_mod_rewrite}
    	{capture name=sfield assign=sfield}##currency##/{/capture}
    	{seo->makeSearchLink p1=$post_array p2=$page p3="page|category" p4='currency' assign='constructed_url'}
    {else}
    	{assign var="separator" value="&amp;"}
    	{capture name=some_content assign=constructed_url}{$live_site}/listings.php?page=1{foreach from=$post_array key=k item=x name=construct_url}{if $x!='' && $k!="currency" && $k!="page" && $k!="show" && (!$settings.enable_locations || (!in_array($k, $location_fields) && $k!="crt_city"))}{$separator}{$k}={$x|replace:'/':'_'}{/if}{/foreach}{/capture}
    {/if}
    
    {$lng.listings.currency}:&nbsp;
    {foreach from=$currencies item=v}
    
    {capture name=field_string assign=field_string}currency-{$v.currency}/{/capture}
    
    {if ((!isset($post_array.currency) || !$post_array.currency) && $mc_default_currency!=$v.currency) || (isset($post_array.currency) && $post_array.currency && $v.currency!=$post_array.currency)}<a href="{if $seo_settings.enable_mod_rewrite}{$constructed_url|replace:$sfield:$field_string}{else}{$constructed_url}{$separator}currency={$v.currency}{/if}" class="special">{else}<span>{/if}{$v.currency}{if ((!isset($post_array.currency) || !$post_array.currency) && $mc_default_currency!=$v.currency) || (isset($post_array.currency) && $post_array.currency && $v.currency!=$post_array.currency)}</a>{else}</span>{/if}&nbsp;&nbsp;
    {/foreach}


     вот так работает

    http://localhost/test/q.php?page=1&search_id=2&currency=$

    а вот так нет
    https://site.org/search/##currency##&search_id=81
    при этом сейчас возможно только использовать 2 формат ссылок, а как сделать так чтобы работал первый вариант пока что понятия не имею
  • Ошибка в коде php?

    @viktorross Автор вопроса
    Artem Ivanov , попробовал, не хочет так, куча ошибок вылазит