PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (2): [1] 2 »

> Найдено сообщений: 19
gin101 Отправлено: 18 Ноября, 2016 - 20:47:15 • Тема: проблема с загрузкой страницы curl • Форум: HTTP и PHP

Ответов: 3
Просмотров: 1527
OrmaJever пишет:
gin101 пишет:
опцию CURLOPT_FOLLOWLOCATION я включить не могу на хостинге по причине того что у меня нет доступа к файлу конфигурации php

Что? С каких это пор нужен файл конфигурации для директив курла? Растерялся
gin101 пишет:
возможно это какая-то проверка от спама на сайт или умышленная защита

А возможно это просто редирект, коих миллионы в интернете, просто вы их не замечаете.


сейвмод отключить не могу,
если это обычный редирект то почемму он появляется только тогда когда я пытаюсь через curl взять страницу на хостинге, а с компа через file_get_contents он нормально берет?
gin101 Отправлено: 18 Ноября, 2016 - 19:12:01 • Тема: проблема с загрузкой страницы curl • Форум: HTTP и PHP

Ответов: 3
Просмотров: 1527
Добрый день! проблема такова, мне необходимо пропарсить некоторый сайт, но когда я пытаюсь забрать страницу через curl сайт кидает редирект 302, я не могу понять толи это защита такая толи я неправильно все делаю
'https://play.shikimori.org/animes/32998-91-days/video_online/1' - страница которую я пытаюсь парсить
вот такие заголовки мне отправляет этот сайт (полученно функцией get_headers)
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. [0] => HTTP/1.1 302 Found
  3. [1] => Server: nginx
  4. [2] => Date: Fri, 18 Nov 2016 16:56:01 GMT
  5. [3] => Content-Type: text/html; charset=utf-8
  6. [4] => Connection: close
  7. [5] => X-Frame-Options: SAMEORIGIN
  8. [6] => X-XSS-Protection: 1; mode=block
  9. [7] => X-Content-Type-Options: nosniff
  10. [8] => Location: //play.shikimori.org/animes/32998-91-days
  11. [9] => Cache-Control: no-cache
  12. [10] => X-Request-Id: cf64d88c-4485-4e17-8a93-147fe0ccb969
  13. [11] => X-Runtime: 0.013295
  14. [12] => Vary: Origin
  15. [13] => Strict-Transport-Security: max-age=31536000
  16. [14] => HTTP/1.1 404 Not Found
  17. [15] => Server: nginx
  18. [16] => Date: Fri, 18 Nov 2016 16:56:02 GMT
  19. [17] => Content-Type: text/html; charset=utf-8
  20. [18] => Content-Length: 0
  21. [19] => Connection: close
  22. [20] => X-Request-Id: 1b9faba2-72fa-40b6-a766-42028c6fbabd
  23. [21] => X-Runtime: 0.004671
  24. [22] => Vary: Origin
  25. [23] => Strict-Transport-Security: max-age=31536000 )


а вот такие кидает когда я делаю тоже самое но только со своего компа через xampp
CODE (htmlphp):
скопировать код в буфер обмена
  1. [0] => HTTP/1.1 200 OK
  2. [1] => Server: nginx
  3. [2] => Date: Fri, 18 Nov 2016 17:03:30 GMT
  4. [3] => Content-Type: text/html; charset=utf-8
  5. [4] => Connection: close
  6. [5] => X-Frame-Options: SAMEORIGIN
  7. [6] => X-XSS-Protection: 1; mode=block
  8. [7] => X-Content-Type-Options: nosniff
  9. [8] => ETag: W/"2f0e6af9054a5b8efaf7372bc2ffad81"
  10. [9] => Cache-Control: max-age=0, private, must-revalidate
  11. [10] => Set-Cookie: anime_video_kind=fandub; path=/
  12. [11] => Set-Cookie: anime_video_hosting=vk.com; path=/
  13. [12] => Set-Cookie: anime_video_author=4Anime; path=/
  14. [13] => Set-Cookie: _kawai_session=NTVJTmRUQVNsTXVHT0xHb1J1NVBxM3c0MnU0dktOZVNNaU9hR1ZVb0pKMEM4U0xkZkdDUHdWeDBVTVIrVDBNQ2xSSm5GdXZFSWQ3L0FLWk9iUXovQ0tyQTlkMXN1WDA1eHZ1STZkSnBTeWtHMzEvUStrVmNRSFRqN1ZocU1LUm1KaS9JaXhEMHhPZisrcm9RV0JQTmoyNlVZMmZIc3A2MGZrSXJNMjl5ZDQ2UFl4Z1RtQXBKM0RGbm8xU2FUbnU4LS1rcEdlbno0SVQ2T0Qzc05LN1J0ZVVBPT0%3D--f015e9acd97919151c01818b572af156665b406a; domain=.shikimori.org; path=/; expires=Sat, 18 Nov 2017 17:03:30 -0000; HttpOnly
  15. [14] => X-Request-Id: eee3f68b-fed7-48e7-8c7c-f9099503e907
  16. [15] => X-Runtime: 1.133988
  17. [16] => Vary: Origin
  18. [17] => Strict-Transport-Security: max-age=31536000 )


при чем когда я через xampp загружаю страницу она загружается функцией file_get_contents

опцию CURLOPT_FOLLOWLOCATION я включить не могу на хостинге по причине того что у меня нет доступа к файлу конфигурации php

возможно это какая-то проверка от спама на сайт или умышленная защита? как можно обойти это? возможно есть другие библиотеки которые могут подделывать работу браузера для php? или другие способы получить содержимое страницы?
gin101 Отправлено: 23 Октября, 2016 - 11:46:52 • Тема: заменить последовательность заключенную между наборами символов • Форум: Регулярные выражения

Ответов: 4
Просмотров: 489
Строитель пишет:
gin101 пишет:
Однако отдельного оператора который бы указывал сразу на любое подмножество символов я не нашел, хотя он явно бы не был лишним
Вам нужна была точка ))
PHP:
скопировать код в буфер обмена
  1. $patt = '~\[url=(.*)](.*)\[/url]~';
  2. $repl = '[url link="$1"]$2[/url]';
  3. $search = '[url=http://anylink.ru]some text here[/url]';
  4. $out = preg_replace($patt, $repl, $search);
  5.  
  6. echo $out;

(Добавление)
gin101 пишет:
но всеравно ничерта не понял
Вероятно вы прочитали не то - надо читать в описании к preg_replace() поиск по подмаскам.


Да, спасибо, думаю так будет лучше
gin101 Отправлено: 22 Октября, 2016 - 20:00:01 • Тема: заменить последовательность заключенную между наборами символов • Форум: Регулярные выражения

Ответов: 4
Просмотров: 489
Вроде как с грехом попалам разобрался вот такой шаблон составил
PHP:
скопировать код в буфер обмена
  1.  
  2. $patt = '~\[url=([\s\S]*)]([\s\S]*)\[/url]~';
  3. $repl = '[url link="$1"]$2[/url]';
  4. $search = '[url=http://anylink.ru]some text here[/url]';
  5. $out = preg_replace($patt, $repl, $search);
  6.  
  7. echo $out;
  8.  


но всеравно ничерта не понял, но как-то слишком все запутано это и не очень доступно для понимания.
В общем [] квадратные скобки означают подмножество, \s - находит пробельные символы, а \S - все кроме пробельных символов, таким образом, комбинируя эти два оператора, я указываю что в этом месте может быть любая последовательно символов.
Однако отдельного оператора который бы указывал сразу на любое подмножество символов я не нашел, хотя он явно бы не был лишним, хотябы для удобства.
gin101 Отправлено: 22 Октября, 2016 - 18:20:30 • Тема: заменить последовательность заключенную между наборами символов • Форум: Регулярные выражения

Ответов: 4
Просмотров: 489
доброго времени суток, господа!
Прошу помощи, мне необходимо заменить все вхождения шорткода такого вида

CODE (text):
скопировать код в буфер обмена
  1. [url=http://ru.link.ru]text[/url]


на пригодный для wordpress

CODE (text):
скопировать код в буфер обмена
  1. [url link="http://ru.link.ru"]text[/url]


используя функцию preg_replace, желательно еще пояснить каким образом это работает.
К сожалению в регулярных выражениях я туго соображаю и не могу сообразить как мне это сделать.
gin101 Отправлено: 17 Августа, 2015 - 10:52:11 • Тема: не приходят данные в ajax запрос • Форум: JavaScript & VBScript

Ответов: 7
Просмотров: 1809
нашел в чем дело было, я в запросе в урл забыл слэши поставить вот он и неправильно параметры считывал и соответственно не возвращал ничего.-.

вот так заработало все
CODE (javascript):
скопировать код в буфер обмена
  1. a=$.ajax({
  2.                         url: '/dialogue/GetMessages/id/'+current_dialogue+'/p/'+page,
  3.                         datatype: 'json',
  4.                         success: MessagesParse
  5.                 });


всеравно спасибо, если бы не эта тема то так бы и не додумался адрес проверить С:
(Добавление)
думаю тему можно удалить, так как проблема была в моей тупости и невнимательности
gin101 Отправлено: 17 Августа, 2015 - 10:24:08 • Тема: не приходят данные в ajax запрос • Форум: JavaScript & VBScript

Ответов: 7
Просмотров: 1809
andrewkard пишет:
gin101
Вы в функцию не передаете данные:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.     $.ajax({
  3.         url: "/dialogue/GetMessages/id'+current_dialogue+'p/'+page"
  4.     })
  5.     .done(function( data ) {
  6.             MessagesParse( data );
  7.     });
  8.  

попробовал, ничего не изменилось. как я уже говорил раньше, переменная data вообще не определена даже, хотя, на сколько я знаю, в нее должен записываться ответ сервера
gin101 Отправлено: 17 Августа, 2015 - 09:50:32 • Тема: не приходят данные в ajax запрос • Форум: JavaScript & VBScript

Ответов: 7
Просмотров: 1809
Viper пишет:
gin101 пишет:
весь гугл уже перерыл ничего не нашел
ага. Первая же ссылка http://stackoverflow.com/questions/3983088/javascript-error-uncaught-syntaxerror-unexpected-end-of-input

там проблема в том что чувак забыл закрывающую скобку поставить, а у меня проблема в том что не могу получить ответ от сервера.-. по крайней мере я еще раз проверил все скобки вроде все правильно
gin101 Отправлено: 17 Августа, 2015 - 07:09:28 • Тема: не приходят данные в ajax запрос • Форум: JavaScript & VBScript

Ответов: 7
Просмотров: 1809
здравствуйте!

у меня проблема с ajax запросом, не приходят данные от php, т.е. переменная data пустая. при этом сама функция MessagesParse вызывается, но переменная data при этом пустая, отладчик в браузере выдает ошибку "Uncaught SyntaxError: Unexpected end of input" на строке c $.parseJSON(data);
подскажите пожалуйста что я делаю не так и почему возникает эта ошибка, весь гугл уже перерыл ничего не нашел :С

сам запрос
CODE (javascript):
скопировать код в буфер обмена
  1.        
  2. function MessagesParse(data){
  3.         console.log('data is: '+data);
  4.         var res = $.parseJSON(data);
  5.     var template='';
  6.         var location="";
  7.     for(var p in res.users){
  8.                 res.users[p].user_country
  9.                 template+='<li>';
  10.                 template+='<div class="messageDate">'+res.users[p].date+'</div>';
  11.                 template+='<a href="/id'+res.users[p].user_id+'"><img class="messagePhoto" src="'+res.users[p].user_photo+'"/></a>';
  12.                 template+='<a href="'+res.users[p].user_id+'"><span class="messageName">'+res.users[p].user_name+res.users[p].user_surname+'</span></a><br>';
  13.                 template+='<span class="messageText">'+res.users[p].text;
  14.                 template+='</li>';
  15.         };
  16.         $('#messagearea').prepend(template);
  17.         page+=1;
  18.        
  19. }
  20.  
  21. $(document).scroll(function(){
  22.                 if ($(document).scrollTop()==0){
  23.                         var a=$.ajax({
  24.                                 url: '/dialogue/GetMessages/id'+current_dialogue+'p/'+page,
  25.                                 success: MessagesParse
  26.                         });
  27.                         console.log(current_dialogue);
  28.                         console.log(page);
  29.                 }
  30.         });


и собственно код php
PHP:
скопировать код в буфер обмена
  1. function GetMessages($DialogueId=0,$page=0){
  2.                         $did= (isset($DialogueId) and $DialogueId!==0) ? $DialogueId : $this->Dialogue['id'];
  3.                         if ($this->UserHasPermission($did)){
  4.                                 $query=sprintf('SELECT * FROM chat_msg JOIN (SELECT id,`date` FROM chat_msg ORDER BY `date` DESC LIMIT %d,10) as b ON b.id = chat_msg.id WHERE dialogue_id=%d',
  5.                                 $page*10,
  6.                                 $did);
  7.                                 $result=mysql_query($query);
  8.                                 $i=0;
  9.                                 $data['messages']=array();
  10.                                 while ($row=mysql_fetch_assoc($result)){
  11.                                         $data['messages'][$i]=$row;
  12.                                         $i++;
  13.                                 }
  14.                                 $data=array_reverse($data);
  15.                                 header('Content-type: application/json');
  16.                                 echo json_encode($data);
  17.                                 return $data;
  18.                         }
  19.                 }
gin101 Отправлено: 21 Июля, 2015 - 19:14:40 • Тема: связь многие ко многим, поиск id беседы содержащей только двух указанных пользователей • Форум: SQL и Архитектура БД

Ответов: 6
Просмотров: 70
спасибо, все заработало)
gin101 Отправлено: 19 Июля, 2015 - 22:59:39 • Тема: связь многие ко многим, поиск id беседы содержащей только двух указанных пользователей • Форум: SQL и Архитектура БД

Ответов: 6
Просмотров: 70
Мелкий пишет:
Один маленький момент пропущен - группировка
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT `dialogue_id` FROM `anytable` WHERE `user_id` = ID_1 OR `user_id` = ID_2
  2. GROUP BY `dialogue_id`
  3. HAVING COUNT(0) = 2


это уже ближе, но запрос так же выводит диалоги в которых помимо указанных пользователей присутствуют еще и другие

для наглядности прикрепил картинку с исходной таблицей и той что выдает ваш запрос, красным обвел то что не должно было выводиться, а синим то что должно, сорри за пайнт
gin101 Отправлено: 19 Июля, 2015 - 22:06:34 • Тема: связь многие ко многим, поиск id беседы содержащей только двух указанных пользователей • Форум: SQL и Архитектура БД

Ответов: 6
Просмотров: 70
Ts.Saltan пишет:
может так?
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT `dialogue_id` FROM `anytable` WHERE `user_id` = ID_1 OR `user_id` = ID_2 HAVING COUNT(`dialogue_id`) = 2


выдает пустой результат, функция count работает по другому, она подсчитывает количество записей в таблице, тоесть такой запрос вернет результат только тогда когда по условию в нем будет выбрано 2 строки, видимо так

видимо все-таки лучшим вариантом будет выбрать все беседы для двух пользователей, а потом используя php найти необходимую, иначе я никак не могу придумать :С
gin101 Отправлено: 19 Июля, 2015 - 19:01:06 • Тема: связь многие ко многим, поиск id беседы содержащей только двух указанных пользователей • Форум: SQL и Архитектура БД

Ответов: 6
Просмотров: 70
имеется таблица которая реализует связь многие ко многим

dialogue_id | user_id

dialogue_id - id диалога
user_id - id пользователя который находится в диалоге

вопрос: как зная id двух пользователей найти id диалога в котором находятся только два этих пользователя и никого больше?

хотелось бы все это реализовать на sql без использования php
gin101 Отправлено: 08 Апреля, 2015 - 20:33:39 • Тема: ошибка при sql запросе • Форум: SQL и Архитектура БД

Ответов: 4
Просмотров: 56
esterio, спасибо теперь понятно^^ и названия тоже поменяю;
gin101 Отправлено: 08 Апреля, 2015 - 20:07:15 • Тема: ошибка при sql запросе • Форум: SQL и Архитектура БД

Ответов: 4
Просмотров: 56
так все работает, спасибо,
тоесть получается нельзя все в одних кавычках делать, надо обязательно через лбъединение строк делать?

но тогда почему этот код работает, странно как-то
PHP:
скопировать код в буфер обмена
  1. $result = mysql_query("SELECT * FROM Товары LIMIT $quantity OFFSET $list;");

(Добавление)
а по поводу русских названий, я пока только на локальном сервере делаю и он может русские названия, а если на хостинге каком-то делать то не знаю, я не пробовал еще

Страниц (2): [1] 2 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB