PHP.SU

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

Страниц (9): « 1 2 3 4 5 6 [7] 8 9 »

> Найдено сообщений: 133
KApriS Отправлено: 30 Января, 2013 - 13:52:15 • Тема: Авторизация с ВКонтакте • Форум: Вопросы новичков

Ответов: 0
Просмотров: 69
Запуталась в собсных граблях, поднаправтье пжалста, если смогу внятно объяснить.
с юрл "/имя раздела/номер раздела/номер статьи" я делаю авторизацию пользователя через соц сеть, для того, чтобы у него была возможность оставлять комментарии к статье.
при авторизации указываю обработчик /vklogin.php Там я планировала получить данные пользователя, сохранить их в сессии(ID и имя) и перенаправить обратно на /имя раздела/номер раздела/номер статьи.
Вопрос? номер раздела/номер статьи - переменные, как их дотащить до /vklogin.php.
вырезки по коду.
хтмл ссылка
CODE (html):
скопировать код в буфер обмена
  1. <a href="http://api.vkontakte.ru/oauth/authorize?client_id=3388519&scope=&redirect_uri=http://scienceforum.ru/2013/vklogin&response_type=code">
  2.         ВКонтакте
  3. </a>

обработчик /vklogin.php
PHP:
скопировать код в буфер обмена
  1. <?
  2. session_name("forum2013_online");
  3.  
  4. function getCURL($url)
  5. {
  6.  $ch = curl_init();
  7.  curl_setopt($ch, CURLOPT_URL, $url);
  8.  curl_setopt($ch, CURLOPT_HEADER, false);
  9.  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  10.  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
  11.  $data = curl_exec($ch); //objects massiv
  12.  curl_close($ch);
  13.  $arr_counter = json_decode($data, true);
  14. return $arr_counter;
  15. }
  16.  function getVKontakt()
  17. {
  18. $client_id =8888888; //ID приложения, берется из ВКонтакте
  19. $client_secret = '8888888888'; //секретный ключ приложения, берется из ВКонтакте
  20. $error = $_GET['error'];
  21. $code = $_GET['code'];
  22. $redirect_uri = "http://scienceforum.ru/2013/vklogin"; //соединение с ВКонтакте
  23. if (isset($error))
  24.  $text = "Error 1 - ".$_GET['error_reason'];
  25. else
  26.  {// получение токена и юзер ID
  27.  $url = "https://oauth.vk.com/access_token?client_id=$client_id&client_secret=$client_secret&code=$code&redirect_uri=$redirect_uri";
  28.  $arr_counter = getCURL($url);
  29.  if (isset($arr_counter['error'])) $text = "Error 2 - ".$arr_counter['error_description'];
  30.  else
  31.   {$user_id = $arr_counter['user_id'];
  32.    $access_token = $arr_counter['access_token'];
  33.         //получение данных о клиенте
  34.    $url1 = "https://api.vk.com/method/users.get?uids=$user_id&fields=uid,first_name,last_name,nickname,screen_name,sex,bdate,city&access_token=$access_token";
  35.    $arr_users = getCURL($url1);
  36.    if (isset($arr_users['error'])) $text = "Error 3 - ".$arr_counter['error_description'];
  37.    else
  38.      { $first_name = $arr_users['response'][0]['first_name'];
  39.         $first_name = iconv("utf-8", "windows-1251", $first_name);
  40.         $last_name = $arr_users['response'][0]['last_name'];
  41.         $last_name = iconv("utf-8", "windows-1251", $last_name);
  42.        $_SESSION['user_id'] = $user_id;
  43.        $_SESSION['user_name'] = $last_name." ".$first_name;
  44.        //var_dump($_SESSION);
  45.         //header("Location: /2013/$conference_id/$article_id");
  46.         $text = $_SESSION['user_id']." - ".$_SESSION['user_name'];
  47.      }
  48.    }
  49.  }
  50. return $text;
  51. }
  52.  
  53. /*main*/
  54. $text = getVKontakt();
  55. show($title, $description, $module, $template, $nav_bar, $text, $catcode, $regexp_id, $search);
  56. ?>
сейчас у меня обработчик на отдельно созданную страниц выводит $text = $_SESSION['user_id']." - ".$_SESSION['user_name']; а надо чтобы с сохраненными сессионными данными возвращался к статье, с которой все началось.
(Добавление)
затащила через сессионные переменные. все заработало. ура!
KApriS Отправлено: 29 Января, 2013 - 20:13:07 • Тема: Cusel селекты • Форум: Вопросы новичков

Ответов: 0
Просмотров: 116
Может кто пользовался cusel селектами и сможете мне подсказать.
Необходимо создать динамические селекты, И все бы ничего, да никак не могу очистить содержимое динамически создаваемого кузель-селекта. перечитала все мануалы от автора плагина, ну никак не получается. при onchange в первом происходит добавление нужных полей, но при повторном чендже значения дописываются к уже имющимся. а надо обновить. подскажите как это сделать.
если поможет, то вот скрипт по работе с дин. селектами
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $('#direction_of_training').change(function(){
  3.   var id = $(this).val();
  4.    
  5.  
  6.  jQuery.ajax
  7.   ({
  8.     type: "post",
  9.     url:  '/application/add?ajax=1&id='+id,
  10.     data: "",
  11.     dataType: "json",
  12.     success: function(result)
  13.     {
  14.     var options = ''; var i=0;
  15.      $(result.speciality).each(function() {
  16.        i++;
  17.        options += '<span val="' + $(this).attr('title') + '">' + $(this).attr('title') + '</span>';
  18.     });
  19.      $('#cusel-scroll-speciality_id').append(options);
  20.     var params = {
  21.                 refreshEl: "#speciality_id",
  22.                 visRows: i
  23.                   }
  24.             cuSelRefresh(params);
  25.  
  26.     }
  27.   });
  28.  

видимо мне надо не append делать, а полную замену селекта. каким методом это можно сделать?
(Добавление)
определенно процесс написания вопроса на этом сайте на меня благотворно влияет. решение: до формирования цикла добавить
CODE (javascript):
скопировать код в буфер обмена
  1.  $('#cusel-scroll-speciality_id span').remove();
  2.      var params = {refreshEl: "#speciality_id" }
  3.             cuSelRefresh(params);
KApriS Отправлено: 25 Января, 2013 - 09:59:56 • Тема: Передача параметров через encode • Форум: Вопросы новичков

Ответов: 2
Просмотров: 116
alnik-75 пишет:
Ajax по ходу, с этими json'ами нормально работает только, если кодировка 'UTF-8'. Он вообще передает все в этой кодировке. Если бы не json, то эта конструкция iconv('UTF-8', 'windows-1251', $_POST['new_name_en']) прокатывает, а так..........СУши весла)))))))

вот только что обнаружила опытным путем то же самое)))) спасибо, что ответили. передаю в encode параметр до перекодировки - так все гуд.
спасибо!
KApriS Отправлено: 25 Января, 2013 - 09:26:24 • Тема: Передача параметров через encode • Форум: Вопросы новичков

Ответов: 2
Просмотров: 116
ПОдскажите, может кто знает в чем проблема. Не могу передать через encode все параметры в скрипт.
рнр:
PHP:
скопировать код в буфер обмена
  1. <?include('../../../conndb.inc');
  2.  
  3. function upd_system_affiliations() {
  4.         $id = $_POST['id'];
  5.         $new_name_ru = iconv('UTF-8', 'windows-1251', $_POST['new_name_ru']);
  6.         $new_name_en = iconv('UTF-8', 'windows-1251', $_POST['new_name_en']);
  7.         $new_city_ru = iconv('UTF-8', 'windows-1251', $_POST['new_city_ru']);
  8.         $new_city_en = iconv('UTF-8', 'windows-1251', $_POST['new_city_en']);
  9.         $sql = "UPDATE system_affiliations SET affiliation_name_ru = '".$new_name_ru."',
  10.                         affiliation_name_en = '".$new_name_en."', affiliation_city_ru = '".$new_city_ru."',
  11.                         affiliation_city_en = '".$new_city_en."'
  12.                         WHERE system_affiliations.affiliation_id  =".$id;
  13.  
  14.         $query = mysql_query($sql);
  15.         if(!$query) Exit(mysql_error());
  16.         else {
  17.                 $arr = array('new_name_ru' => $new_name_ru, 'new_city_ru' => $new_city_ru, 'new_name_en' => $new_name_en, 'new_city_en' => $new_city_en);
  18.                 Exit(json_encode($arr));       
  19.                 }
  20.         }
  21.  
  22.         upd_system_affiliations();     
  23. ?>


кусок скрипта на вывод

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $.post("/fs/modules/manage/workPosition/upd.php",{id:id, new_name_ru : new_name_ru , new_name_en : new_name_en, new_city_ru : new_city_ru, new_city_en : new_city_en},AjaxSuccess);
  3.    function AjaxSuccess(data)
  4.         {
  5.       if (data) {
  6.         switch (data) {
  7.                 case 'ERROR1' : alert('Ошибка');break; 
  8.                 default:alert(data);
  9. ...
  10.  


то есть из js я передаю в рнр параметры, там их корректирю, записываю в таблицу (и ведь все значения есть и записываются),а потом через encode формирую массив для возврата в скрипт, чтобы раскидать их по полям на странице.
в итоге мой массив наполовину пуст - англ значения присутствуют, русские нет.
где моя ошибка? подскажите пжалста, если видите.
    {"new_name_ru":null,"new_city_ru":null,"new_name_en":"Institute of Chemistry and Chemical Technology SB RAS","new_city_en":"krasnoyarsk"}
KApriS Отправлено: 22 Января, 2013 - 14:48:13 • Тема: Массив в ajax • Форум: Вопросы новичков

Ответов: 5
Просмотров: 529
превеликое спасибо!!!
KApriS Отправлено: 22 Января, 2013 - 14:38:21 • Тема: Массив в ajax • Форум: Вопросы новичков

Ответов: 5
Просмотров: 529
Подскажите пжалста, как правильно из php в js вернуть массив, чтобы можно было поэлементно его обработать. в частности. мне надо получить с и d.
примерно так рнр:
PHP:
скопировать код в буфер обмена
  1. $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
  2.         Exit(json_encode($arr));


и в js

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function AjaxSuccess(data)
  3.         {
  4.                 if (data) {
  5.                         switch (data) {
  6.                                 case 'ERROR1' : alert('Ошибка');                break; 
  7.                                 default:{alert(data)
  8.                                                 }
  9.                                                  }
  10.                                 }
  11.                                         else alert('Ошибка передачи данных!');
  12.         }
который в алерт выводит всю строку в json формате.
KApriS Отправлено: 18 Января, 2013 - 12:38:07 • Тема: ПРоблема реализации • Форум: Вопросы новичков

Ответов: 3
Просмотров: 135
тоЧно! всего то добавить ид в анализ. вот накрывает же тупоумие периодически.
а с со значение инпута -
я так понимаю, принимать значение и анализировать список чекбоксов в обработчике перед записью строки в таблицу, а не пытаться состряпать это на форме через js через скрытое поле???
Спасибо вам огромное!
KApriS Отправлено: 18 Января, 2013 - 11:02:38 • Тема: ПРоблема реализации • Форум: Вопросы новичков

Ответов: 3
Просмотров: 135
Подскажите пжалста идеи на тему:
есть инпут, есть несколько чекбоксов.
про выборе чекбокса в инпут к значению должно ДОзаписывать имя пункта. - это сделано.
а при снятии галки - это имя должно Выписываться.
КАК? что то я в ступоре.
начало реализации тут http://beauty[dot]bit-hosting[dot]com/master_class
KApriS Отправлено: 17 Января, 2013 - 10:01:10 • Тема: Проблемный confirm • Форум: JavaScript & VBScript

Ответов: 3
Просмотров: 795
spsu пишет:
В консоли ошибок вообще нет?

А про нее я и не подумала) Спасибо. функцию определять надо было до конфирма.
KApriS Отправлено: 17 Января, 2013 - 08:19:35 • Тема: Проблемный confirm • Форум: JavaScript & VBScript

Ответов: 3
Просмотров: 795
Подскажите в чем затык.
Есть работающий скрипт по удалению
PHP:
скопировать код в буфер обмена
  1. $(function() {
  2.         $(".delete").click(
  3.                 function() {
  4.                         i
  5.                                 var commentId  =$(this).data("comment_id");
  6.                                 var author_del =$(this).parent();
  7.                                 var data_del=$(this).parent().parent().find('.c');
  8.                                 $.post("/2013/modules/del.php",{id : commentId},AjaxSuccess);
  9.                                 alert('qweqweqwe');
  10.                                
  11.                                 function AjaxSuccess(data)
  12.                                 {
  13.                                         if (data) {
  14.                                                 switch (data) {
  15.                                                         case 'ERROR2' :         alert('Не удалено!');           break;
  16.                                                         default:{
  17.                                                            author_del.text('написал(а) скрыто'); data_del.text('Сообщение удалено');
  18.                                                                     }
  19.                                                                           }
  20.                                                                 }
  21.                                         else alert('Ошибка передачи данных!');
  22.                                 }
  23.                         return false;
  24.                
  25.                 }
  26.         );
  27.        
  28. });

ное сли в него добавить уведомление, то появляются проблемы с выполнением. скрипт не работает . почему?

PHP:
скопировать код в буфер обмена
  1. $(function() {
  2.         $(".delete").click(
  3.                 function() {
  4.                         if (!confirm("Удалить?")) {     alert("Передумал!");return false;}
  5.                         else {
  6.                                 var commentId  =$(this).data("comment_id");
  7.                                 var author_del =$(this).parent();
  8.                                 var data_del=$(this).parent().parent().find('.c');
  9.                                 $.post("/2013/modules/del.php",{id : commentId},AjaxSuccess);
  10.                                 alert('qweqweqwe');
  11.                                
  12.                                 function AjaxSuccess(data)
  13.                                 {
  14.                                         if (data) {
  15.                                                 switch (data) {
  16.                                                         case 'ERROR2' :         alert('Не удалено!');           break;
  17.                                                         default:{
  18.                                                            author_del.text('написал(а) скрыто'); data_del.text('Сообщение удалено');
  19.                                                                     }
  20.                                                                           }
  21.                                                                 }
  22.                                         else alert('Ошибка передачи данных!');
  23.                                 }
  24.                         return false;
  25.                 }
  26.                 }
  27.         );
  28.        
  29. });
KApriS Отправлено: 16 Ноября, 2012 - 11:19:33 • Тема: Знатокам fancybox • Форум: Вопросы новичков

Ответов: 3
Просмотров: 197
я б с удовольствием, но главный верстальщик не разрешает) грит надо использовать средства пакета. ну вот использовали Улыбка

PHP:
скопировать код в буфер обмена
  1.  
  2. $(".fancybox").fancybox({beforeClose:function(){
  3.                                     $('#bell_form')[0].reset();
  4.                                         }});
  5.  
KApriS Отправлено: 16 Ноября, 2012 - 10:43:23 • Тема: Знатокам fancybox • Форум: Вопросы новичков

Ответов: 3
Просмотров: 197
Вопрос в следующем: есть мод. окно с форой для обратной связи: На имеющуся кнопку "Отправить" добавила очистку полей формы после отправки сообщения $('#bell_form')[0].reset();. Но необходимо сделать то же самое на кнопку "закрыть". Этот крестик используется по умолчанию как элемент окна фансибокс. как на него прописать событие очистки полей формы?
PHP:
скопировать код в буфер обмена
  1.  
  2. <a class="feedback fancybox"    href="#feedback-block">Обратная связь</a>
  3. <div id="feedback-block">
  4.   <h2>Форма обратной связи</h2>
  5. <form action="" name="bell_form" id="bell_form" class="TTWForm clearfix" method="post">
  6.     <div id="bell_errors"></div>
  7.             <label for="name">Ваше имя:</label>
  8.             <input type="text" value="" name="name" id="name" placeholder="Генадий Дмитриевич">
  9. ...
  10.  <div id="otp"><a id="bell_send" class="send-orange" href="#ok">Отправить</a>
  11. </form>
  12. </div>
  13.  
KApriS Отправлено: 04 Октября, 2012 - 15:51:40 • Тема: вырезать из тэгов в массив • Форум: Регулярные выражения

Ответов: 2
Просмотров: 168
Alho пишет:
PHP:
скопировать код в буфер обмена
  1.     if (preg_match_all('|<dd.*?>(.*)</dd>|Usei', $item->content, $arr)) $title = $arr[1];
  2.       else $title='';


Т.е. ищем все подходящие элементы отключаем жадность.

у меня почему то не получилось Недовольство, огорчение. но вот такое исполнение, может, конечно, кривовато, но дает необходимое
CODE (html):
скопировать код в буфер обмена
  1. <? if (preg_match_all('|<dd.*?>(.*?)</dd>|sei', $item->content, $arr))
  2.   { $name = $arr[1][0]; $title=$arr[1][1];}
  3.  
  4. ?>
  5. <div class="rewiew-item">
  6.   <p><strong>Автор: {$name}</strong><br>
  7.        {$title}
  8.   </p>
  9. </div>

но подсказанная смена функции мне явно помогла, спасибо)
KApriS Отправлено: 03 Октября, 2012 - 14:52:59 • Тема: вырезать из тэгов в массив • Форум: Регулярные выражения

Ответов: 2
Просмотров: 168
Помогите пжалста. строка типа
CODE (html):
скопировать код в буфер обмена
  1. <dl> <dt>Адрес отправителя</dt> <dd>ИРа </dd> <dt>Текст отзыва</dt> <dd>Тест</dd> </dl>

необходимо элементы между тэгам dd вырезать в массив для дальнейшей обработки.
пробовала
PHP:
скопировать код в буфер обмена
  1. if (preg_match('|<dd.*?>(.*)</dd>|sei', $item->content, $arr)) $title = $arr[1];
  2.   else $title='';

так в этом случае в $title помещается элемент от первого dd до последнего /dd. а мне нужно, чтобы получился массив из двух элементов. {ИРа,Тест}
KApriS Отправлено: 03 Октября, 2012 - 12:43:35 • Тема: Onchange дл инпута • Форум: Вопросы новичков

Ответов: 2
Просмотров: 103
Оказалось так
PHP:
скопировать код в буфер обмена
  1. {{input type="text" name="first_name1" id="first_name1" title='Фамилия' onchange="document.send_form.first_name1_hidden.value =  this.value;"/}}

Страниц (9): « 1 2 3 4 5 6 [7] 8 9 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB