- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Да, вроде работали.
Ранее в методе foreach было $html = '';
я удалил, посчитал, что лишнее, но проблема не в этом.
Все же хотелось бы знать, в методе foreach наличие $html = ''; обязательно?
У вас до форича $html не определена, а вы в фориче используете оператор .=, а не просто присваевание. Оператор .= (присваивание с конкатенацией) предполагает, что уже инициализирована строковая переменная . И должна она в вашем случае инициализироваться не в блоке foreach, а перед
$html = '';
foreach ($data->items as $yt) {
$html .= $this->listQueryVideo($yt);
}
Заменил
$this->url = "https://www.googleapis.com/youtube/v3/search?videoEmbeddable=true&key={$this->key}&part=$part&order=data&maxResults=5&q={$this->config[$nom.'catevideos']}&type=video";
на
$this->url = "https://www.googleapis.com/youtube/v3/search?videoEmbeddable=true&key={$this->config["key"]}&part=$part&order={$this->config["zerosortingresults"]}&maxResults={$this->config["twonumber"]}&q={$this->config["twocatevideos"]}&videoSyndicated=true&type=video";
В чем разница, пытаюсь понять, но не только в {$this->key} и {$this->config["key"]}
{$this->config[$nom.'catevideos']} менял на поисковый запрос music не сработало, пытаюсь понять разницу.
Я же и писал выше, что я не знаю, где вы определяете $this->url и $this->key, поэтому и не могу точно вам сказать, следует их менять или нет
Как у вас в класе инициализирован key и как вы ему присвоили значение
У вас должно быть что-то такое
class BBBB{
protected $key = null //или другое значение
и далее возможно
function __constractor(){
$this->key = 125;
А я этого не знаю, поэтому и не могу сказать уверенно что так и так
вот это нашел
* Is Set and Equal to
* @param key, value
* @return boolean
*/
public static function is_set($key,$value=NULL,$method="GET"){
if(!in_array($method, array("GET","POST"))) return FALSE;
if($method=="GET") {
$method=$_GET;
}elseif($method=="POST"){
$method=$_POST;
}
if(!isset($method[$key])) return FALSE;
if(!is_null($value) && $method[$key]!==$value) return FALSE;
return self::clean($method[$key],3,TRUE);
}
protected $config=array(), $action="", $do="", $id="", $sandbox = FALSE;
protected $actions = array("watch", "page", "popular", "search", "channel", "user", "terms", "privacy", "advertise");
public function __construct($config){
// Start Youtube
parent::__construct();
// Set Config URl
$this->config=$config;
// Check Key
if(empty($this->config["key"])){
die("A Youtube API key is required to run this app.");
}
// Set Youtube Key
$this->set($this->config["key"]);
}
Добавил html, теперь так выглядит
// Construct URL
$part = "snippet";
$this->url = ""
// Get Data
$data = $this->http(TRUE);
$html = '';
foreach ($data->items as $yt) {
$html .= $this->listQueryVideo($yt);
}
return $html;
}
вот это нашел
Ну, исходя из $this->config=$config; в конструкторе
$this->key можно поменять на $this->config['key'];
Попробуйте прописать для проверки после
protected function getcates($nom){
return '###################################';
И посмотрите, появится оно там, где должно выводится в шаблоне. Так будет хоть известно, попадаете ли в метод
Ничего не изменилось, у меня и так все работает уже так как было задумано.
Вот это работает
// Construct URL
$part = "snippet";
$this->url = "https://www.googleapis.com/youtube/v3/search?videoEmbeddable=true&key={$this->config["key"]}&part=$part&order={$this->config[$nom.'sortingresults']}&maxResults={$this->config[$nom.'number']}&q={$this->config[$nom.'catevideos']}&videoSyndicated=true&type=video";
// Get Data
$data = $this->http(TRUE);
$html = '';
foreach ($data->items as $yt) {
$html .= $this->listQueryVideo($yt);
}
return $html;
}
Ничего не изменилось, у меня и так все работает уже так как было задумано.
Вот это работает
То есть со всеми изменениями работает?
Да. Все работает отлично со всеми изменениями что были внесены.
Может где-то есть ошибки но работает
Теперь буду думать, что еще там можно уменьшить...
Спасибо!
Да. Все работает отлично со всеми изменениями что были внесены.
Может где-то есть ошибки но работает
Теперь буду думать, что еще там можно уменьшить...
Спасибо!
Ну думайте :)
$store = array(
'zerocatename' =>$_POST ["zerocatename"],
'zerocatesearch' =>$_POST ["zerocatesearch"],
'zerocatevideos' =>$_POST ["zerocatevideos"],
'zeronumber' =>$_POST ["zeronumber"],
Похоже неоперабельный случай.
Кстати есть теория что когда человек приносит на форум очередной баян - то не для того, чтобы поменять на фортепиано, а чтобы заставить этот баян играть. То есть форумы по определению - склад такого рода баянов. Все кто баянов не хочет - на форумы их не таскает, не доносит, так скидывает в мусор, мимо форумов.
Все данные сохраняйте в файле .php и тогда никто просто так из браузера его не откроет, а от запуска спасает либо банальная проверка на заранее установленную переменную в точке входа, либо нормальное перемещение файла в недоступную для публичного доступа папку.
Вполне легко открывается, все тоже самое что и с использованием .txt - сам удивился :(
Пробовал .htaccess в папку кидать, тогда вообще панель управления не открывается, полностью доступ запрещен.
Прописываю в начале файла
....YTo3NTp7.......
тогда система не читает сохраненные в нем данные, хотя от открытия в браузере спасает.
---------- Добавлено 01.08.2015 в 18:51 ----------
Похоже неоперабельный случай.
Кстати есть теория что когда человек приносит на форум очередной баян - то не для того, чтобы поменять на фортепиано, а чтобы заставить этот баян играть. То есть форумы по определению - склад такого рода баянов. Все кто баянов не хочет - на форумы их не таскает, не доносит, так скидывает в мусор, мимо форумов.
Очень познавательно. Видимо на форум приходят только Гуру, чтобы друг другу мозг выносить.
По той же теории на форумы ходят обмениваться идеями. У вас такая идея чтобы других идей не рассматривать, но чтобы все работало как у людей, а не через одно место. Так вот надо слушать и понимать что люди советуют, их идеи, и не жалеть своих, вымученных потом и кровью, и тогда будет работать не хуже чем у людей, а то и получше.
Никогда браузер не откроет файл из папки закрытой для публичного доступа, а серверный скрипт откроет запросто, потому что у него права другие. Если никак нельзя закрыть файл по правам, то остается только проверять как он открывается - опосредованно или непосредственно. Последний способ самый древний, дубовый и универсальный.
---------- Добавлено 02.08.2015 в 20:26 ----------
Хорошо, задам вопрос: зачем вы переписываете вручную все что пришло в массиве $_POST в другой массив?
По безопасности. Я сам как-то потратил целый день пытаясь разобраться в этом деле и могу выдать сводку.
1. фундаментальный способ - держать все данные в папке выше публичного доступа. Например на сервере у вас такая структура
..
cgi
conf
docs
log
php
stat
сайт лежит в docs или там в httpdocs или это может быть конкретно www папка. Только она определена как корневая для сайта, остальных просто нет для браузера. Но для скрипта, например index.php - который запущен из docs - папка php доступна.
Реализация этого способа может упереться в тупого хостера или тупой тариф.
2. положить в специальную папку ниже уровнем файл .htaccess со строчкой
Deny from all
3. проверять заведомую глобальную переменную
Так вот все 3 способа подразумевают наличие точки входа, то есть технологию когда все и любые запросы идут через единственный публичный файл - index.php
Больше ни одного файла, ну вообще ни одного кроме там картинок, стилей и жаба-скриптов - то есть статики - в публичном доступе нет.
1. index.php имеет права доступа к папке выше уровнем - к dirname(__FILE__).'../../php/'
2. index.php имеет права доступа к папке ниже уровнем, которая закрыта от любых внешних воздействий на уровне сервера
3. index.php определят ту самую глобальную переменную, которую затем все скрипты проверяют.