Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Замена URL на <title> [2]

 PHP.SU

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


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

> Описание: как вместо ссылки на последнюю посещённую страницу отображать название этой страницы из её заголовка <title> ?
Ts.Saltan
Отправлено: 31 Мая, 2015 - 19:22:20
Post Id



Посетитель


Покинул форум
Сообщений всего: 384
Дата рег-ции: Дек. 2013  
Откуда: Belarus


Помог: 22 раз(а)




Строитель пишет:
Значения title (массив) записаны в $_SESSION, и при первом заходе на сайт они в браузер не выводятся.

Быть может сначала данные выводятся, а потом уже заносятся в $_SESSION?
тут без кода ничего не скажешь
 
 Top
Строитель Модератор
Отправлено: 31 Мая, 2015 - 21:04:23
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 74 раз(а)




Ts.Saltan пишет:
Быть может сначала данные выводятся, а потом уже заносятся в $_SESSION? тут без кода ничего не скажешь


Вот отрывки кода:

Листинг файла index.php
PHP:
скопировать код в буфер обмена
  1. // Листинг файла index.php
  2. include_once('gb_func.php');
  3.  
  4. $_SESSION['my_title'] = $titles = array('kids'             => 'Занятия с малышами',
  5.                                         'intl'             => 'Элементарное владение(«выживание»)',
  6.                                         'avrl'             => 'Самодостаточное владение',
  7.                                         '2nd'              => 'Для 2-го класса',
  8.                                         '3rd'              => 'Для 3-го класса',
  9.                                         '4th'              => 'Для 4-го класса',
  10.                                         'oxfbook'          => 'Оксфордские учебники',
  11.                                         'time'             => 'Telling Time',
  12.                                         'adject'           => 'Сравнение прилагательных',
  13.                                         'verbs'            => 'Неправильные глаголы',
  14.                                         'tens'             => 'Времена глагола',
  15.                                         'assign'           => 'Задания',
  16.                                         'quest'            => 'Вопросы для беседы',
  17.                                         'faml'             => 'Семья',
  18.                                         'food'             => 'Еда',
  19.                                         'weath'            => 'Погода',
  20.                                         'body'             => 'Части тела',
  21.                                         'do_make'          => '"Do" или "Make"',
  22.                                         'prov'             => 'Пословицы',
  23.                                         'idms'             => 'Идиомы',
  24.                                         'meth'             => 'Методы изучения лексики',
  25.                                         'easy'             => 'Простое настоящее время',
  26.                                         'past'             => 'Простое прошедшее время',
  27.                                         'long'             => 'Настоящее длительное время',
  28.                                         'passed'           => 'Прошедшее длительное время',
  29.                                         'coast'            => 'Перфектные времена',
  30.                                         'study'            => 'Как изучать времена глагола',
  31.                                         'types'            => 'Типы предложений',
  32.                                         'modal'            => 'Модальные глаголы',
  33.                                         'primary'          => 'Грамматика для младшей школы 1-4 кл.',
  34.                                         'adapted'          => 'Адаптированные',
  35.                                         'original'         => 'В оригинале',
  36.                                         'songs'            => 'Стихи и песни',
  37.                                         'dialogues'        => 'Диалоги "Drills"',
  38.                                         'audio'            => 'Аудио',
  39.                                         'topics'           => 'Топики на темы',
  40.                                         'worksheets'       => 'Worksheets',
  41.                                         'posters'          => 'Плакаты',
  42.                                         'jobcard'          => 'Задания и карточки',
  43.                                         'komissar'         => 'Грамматика Комиссаровой',
  44.                                         'articl'           => 'Статьи',
  45.                                         'guest'            => 'Гостевая книга',
  46.                                         'lesson_plans'     => 'Планы уроков',
  47.                                         'types_activities' => 'Виды деятельности',
  48.                                         'lexis'            => 'Лексика',
  49.                                         'grammar'          => 'Грамматика',
  50.                                         'texts'            => 'Тексты',
  51.                                         'visual_aids'      => 'Наглядные пособия',
  52.                                         'literature'       => 'Библиотека',
  53.                                         'articles'         => 'Статьи',
  54.                                         'communion'        => 'Общение',
  55.                                         'online'           => 'Кто на сайте');
  56.                
  57.  
  58. if (isset($_GET['plans']))    $switch = htmlspecialchars($_GET['plans']);
  59. if (isset($_GET['activ']))    $switch = htmlspecialchars($_GET['activ']);
  60. if (isset($_GET['voc']))      $switch = htmlspecialchars($_GET['voc']);
  61. if (isset($_GET['gram']))     $switch = htmlspecialchars($_GET['gram']);
  62. if (isset($_GET['texts']))    $switch = htmlspecialchars($_GET['texts']);
  63. if (isset($_GET['visual']))   $switch = htmlspecialchars($_GET['visual']);
  64. if (isset($_GET['literatr'])) $switch = htmlspecialchars($_GET['literatr']);
  65. if (isset($_GET['articles'])) $switch = htmlspecialchars($_GET['articles']);
  66. if (isset($_GET['communion']))$switch = htmlspecialchars($_GET['communion']);
  67.  
  68. switch($switch){
  69.    case 'kids':
  70.       $title = $titles[$switch];
  71.       $content='<a href="'. $_SERVER['HTTP_REFERER'] .'">Назад</a> | <b>Занятия с малышами</b> | '.
  72.                '<a href="index.php">На главную</a><hr />';
  73.       $dir=scandir($_SERVER['DOCUMENT_ROOT'].'/lesson_plans/classes_with_kids');
  74.       $all=sizeof($dir);
  75.       if ($all<=3){
  76.          $content.='Материал в разработке.';
  77.       } else {
  78.          for($i=0; $i<$all; $i++){
  79.             if($dir[$i]=='..'||$dir[$i]=='.'||is_dir($dir[$i])||$dir[$i]=='.htaccess') continue;
  80.             //Выводим содержимое всех файлов в поток
  81.             $content.=file_get_contents('http://'.$_SERVER['SERVER_NAME'].'/lesson_plans/classes_with_kids/'.$dir[$i]).'<br />';
  82.          }
  83.       }
  84.       $content.='<hr /><a href="index.php">На главную</a>';
  85.       break;
  86.    case 'intl':
  87.       $title = $titles[$switch];
  88.       $content='<a href="'. $_SERVER['HTTP_REFERER'] .'">Назад</a> | <b>Элементарное владение(«выживание»)</b> | '.
  89.                '<a href="index.php">На главную</a><hr />';
  90.       $dir=scandir($_SERVER['DOCUMENT_ROOT'].'/lesson_plans/initial_level');
  91.       $all=sizeof($dir);
  92.       if ($all<=3){
  93.          $content.='Материал в разработке.';
  94.       } else {
  95.          for($i=0; $i<$all; $i++){
  96.             if($dir[$i]=='..'||$dir[$i]=='.'||is_dir($dir[$i])||$dir[$i]=='.htaccess') continue;
  97.             //Выводим содержимое всех файлов в поток
  98.             $content.=file_get_contents('http://'.$_SERVER['SERVER_NAME'].'/lesson_plans/initial_level/'.$dir[$i]).'<br />';
  99.          }
  100.       }
  101.       $content.='<hr /><a href="index.php">На главную</a>';
  102.       break;
  103. } // и так далее


Листинг файла gb_func.php
PHP:
скопировать код в буфер обмена
  1. // Листинг файла gb_func.php
  2. $file = 'session.txt';
  3. $s_id = session_id();
  4.  
  5. if (!empty($s_id)){
  6.     $time = time();
  7.     $time_online = time() - 300;
  8.     $user_agent = htmlspecialchars($_SERVER['HTTP_USER_AGENT']);
  9.     $ip = $_SERVER['REMOTE_ADDR'];
  10.     $date = date('H:i:s', time() + 10800);
  11.     $ref = 'http://'. $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
  12.     parse_str(parse_url($ref, PHP_URL_QUERY), $output);
  13.     if (!empty($output)){
  14.         $url_name = $_SESSION['my_title'][end($output)];
  15.     } else {
  16.         $url_name = 'На Главной';
  17.     }
  18.     $str = $s_id.'|'.$time.'|'.$user_agent.'|'.$ip.'|'.$date.'|'.$ref.'|'.$url_name."\n";
  19.    
  20.     if (!file_exists($file)){
  21.         file_put_contents($file, NULL);
  22.         }
  23.    
  24.     $arr_file = file($file); // Считываем весь файл в массив
  25.    
  26.     for ($i = 0, $j = 0; $i < sizeof($arr_file); $i++, $j++){
  27.         $arr_expl = explode('|', $arr_file[$i]);
  28.         if ($arr_expl[1] > $time_online){
  29.             $rec_file[$j] = $arr_file[$j];
  30.         }
  31.     }
  32.    
  33.     for ($i = 0; $i < sizeof($rec_file); $i++){
  34.         $arr_rec = explode('|', $rec_file[$i]);
  35.         if ($arr_rec[0] == $s_id){
  36.             $arr_rec[1] = $time;
  37.             $arr_rec[2] = $user_agent;
  38.             $arr_rec[3] = $ip;
  39.             $arr_rec[4] = $date;
  40.             $arr_rec[5] = $ref;
  41.             $arr_rec[6] = $url_name."\n";
  42.             $rewrite = TRUE;
  43.         }
  44.         $rec_file[$i] = implode('|', $arr_rec);
  45.     }
  46.        
  47.     $fp = fopen($file, 'w');
  48.     for ($i = 0; $i < sizeof($rec_file); $i++){
  49.         fputs($fp, $rec_file[$i]);
  50.     }
  51.     fclose($fp);
  52.    
  53.     if (!$rewrite){
  54.         file_put_contents($file, $str, FILE_APPEND);
  55.     }
  56. }
  57.  
  58. if ($_GET['act'] == 'online'){
  59.     $arr_file = file($file);
  60.     $online = '';
  61.     for ($i = 0, $j = 1; $i < sizeof($arr_file); $i++, $j++){
  62.         $arr_online = explode('|', $arr_file[$i]);
  63.         if ($arr_online[0] == $s_id){
  64.         $online .= '<ul><li><span style="border-bottom: 2px solid red; border-radius: 30%;">'. $j .': '. $arr_online[2] .'</span></li>';
  65.         $online .= '<li>IP: '. $arr_online[3] .'</li>';
  66.         $online .= '<li>Время: '. $arr_online[4] .'</li>';
  67.         $online .= '<li>На странице: <a href="'. $arr_online[5] .'">'. $arr_online[6] .'</a></li></ul>';
  68.         }
  69.         if ($arr_online[0] == $s_id){ continue; }
  70.         $online .= '<ul><li>'. $j .': '. $arr_online[2] .'</li>';
  71.         $online .= '<li>IP: '. $arr_online[3] .'</li>';
  72.         $online .= '<li>Время: '. $arr_online[4] .'</li>';
  73.         $online .= '<li>На странице: <a href="'. $arr_online[5] .'">'. $arr_online[6] .'</a></li></ul>';
  74.     }
  75.     $online .= '<a href="'. $_SERVER['HTTP_REFERER'] .'">назад</a>';
  76. } else {
  77.     $url='?';
  78.     if ($_SERVER['QUERY_STRING']){
  79.         foreach($_GET as $key => $value){
  80.             if($key !='act'){
  81.                 $url.=$key.'='.$value.'&';
  82.             }
  83.         }
  84.     }
  85.  
  86.     $online = 'На сайте: <a href="'. $url .'act=online"><b>'. sizeof(file($file)) .'</b></a>';
  87. }
 
 Top
Строитель Модератор
Отправлено: 01 Июня, 2015 - 00:08:25
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 74 раз(а)




Всё понял )) Перенёс массив из index.php в gb_func.php и заменил в index.php переменную $titles на $_SESSION['my_title']. Теперь вроде бы всё ок. Рабочий пример найдёте по ссылке на предыдущей странице. Спасибо!
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB