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 :: Изменение контента сайта

 PHP.SU

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


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

> Без описания
mik
Отправлено: 21 Мая, 2011 - 01:02:00
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Май 2011  


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




Извините, может поднимали этот вопрос.
но как поменять часть сайта если я перехожу методом GET.
например у меня есть главная страница, на ней есть новости , мне надо перейти в профиль
, как сделать , я пробовал так
if($_GET["location"] == profile){include 'tti/p.php'}
if(!$_GET["location"] ){include 'news.php';}
Но у меня много страниц и все разные ...
Если я тупо задал вопрос .говорите , я расскажу подробнее
 
 Top
ugin_root
Отправлено: 21 Мая, 2011 - 01:05:00
Post Id


Частый гость


Покинул форум
Сообщений всего: 134
Дата рег-ции: Май 2011  
Откуда: Киргизия


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




mik
PHP:
скопировать код в буфер обмена
  1. if ( $_GET['location'] == 'profile' )
  2. {
  3.       \\Сдесь делаем всё что угодно
  4. }

в вашем случае:
PHP:
скопировать код в буфер обмена
  1. if ( $_GET['location'] == 'profile' )
  2. {
  3.       require_once('tti/p.php');
  4. }


не
PHP:
скопировать код в буфер обмена
  1. if ($_GET["location"] == profile) { include'tti/p.php' }

а
PHP:
скопировать код в буфер обмена
  1. if ( $_GET["location"] == 'profile' ) { include( 'tti/p.php' ); }

(Отредактировано автором: 21 Мая, 2011 - 01:09:40)

 
 Top
mik
Отправлено: 21 Мая, 2011 - 01:15:22
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Май 2011  


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




У меня есть index.php в нем блоки и т.д..
Но у меня еще есть много файлов типо users.php,admin.php,profile.php и т.д.
я не хочу в каждый файл пихать шаблон .
я сделал(как и все думаю делают) в этих файлах (users.php,admin.php,profile.php) контент.

и когда мне надо перейти в users.php я перехожу так ?location=users.
и мне надо что бы вместо новостей, выводило содержимое users.php.

просто у меня много страниц и этим кодом как-то долго писать if ( $_GET["location"] == 'profile' ) { include( 'tti/p.php' ); }

(Отредактировано автором: 21 Мая, 2011 - 01:16:58)

 
 Top
DeepVarvar Супермодератор
Отправлено: 21 Мая, 2011 - 01:23:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




PHP:
скопировать код в буфер обмена
  1. $tpldir = "tpl/"; // папка с шаблонами
  2. // не буду тут писать грозную проверку GET :)
  3. if (isset($_GET['location'])) {
  4.   $location = $_GET['location'];
  5.   // если такой файл есть - подключим его, если нет - подключим шаблон 404
  6.   file_exists($tpldir.$location.".php") ? include($tpldir.$location.".php") : include("404.htm");
  7.   }
  8. else include($tpldir."glavnaya.php");

(Отредактировано автором: 21 Мая, 2011 - 01:24:20)

 
 Top
ugin_root
Отправлено: 21 Мая, 2011 - 01:42:19
Post Id


Частый гость


Покинул форум
Сообщений всего: 134
Дата рег-ции: Май 2011  
Откуда: Киргизия


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




mik
так писать нельзя! и так никто не пишет! но если сильно нужно то самый простой способ это JavaScript
CODE (javascript):
скопировать код в буфер обмена
  1. <script type="text/javascript">
  2.     function go_page(page) {
  3.         document.location.href = page;
  4.     }
  5. </script>
  6. <a href="#" onclick="go_page('users.php');">К юзерам</a>

(Отредактировано автором: 21 Мая, 2011 - 01:57:25)

 
 Top
VadiKO
Отправлено: 31 Июля, 2016 - 00:46:23
Post Id


Новичок


Покинул форум
Сообщений всего: 39
Дата рег-ции: Март 2016  


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




Делаю как пишет ugin_root

PHP:
скопировать код в буфер обмена
  1. if ($_GET["action"] == 'news') { include_once( 'mods/news.php' ); }


А мне выдает ошибку на это дело:

CODE (htmlphp):
скопировать код в буфер обмена
  1. Notice: Undefined index ...


Примечательно, что все работает и если отключить отображение ошибок, то работает без проблем, но почему возникает ошибка, как бы все правильно написано??? Не понял
 
 Top
Fart
Отправлено: 31 Июля, 2016 - 11:05:21
Post Id



Посетитель


Покинул форум
Сообщений всего: 324
Дата рег-ции: Июль 2016  


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




mik пишет:
У меня есть index.php в нем блоки и т.д..
Но у меня еще есть много файлов типо users.php,admin.php,profile.php и т.д.
я не хочу в каждый файл пихать шаблон .
я сделал(как и все думаю делают) в этих файлах (users.php,admin.php,profile.php) контент.

и когда мне надо перейти в users.php я перехожу так ?location=users.
и мне надо что бы вместо новостей, выводило содержимое users.php.

просто у меня много страниц и этим кодом как-то долго писать if ( $_GET["location"] == 'profile' ) { include( 'tti/p.php' ); }


рассмотри и такой вариант

PHP:
скопировать код в буфер обмена
  1.  
  2. $loc = ['users'=>'users.php','admin'=>'admin.php','profile'=>'profile.php'];
  3. if(isset($_GET['location']))
  4. {
  5.     if(!empty($_GET['location']) AND array_key_exists($_GET['location'], $loc))
  6.     {
  7.          include_once('tti/'.$loc[$_GET['location']]);
  8.     }
  9. }
  10.  


что касается дублирования шаблона для каждой страницы:
не обязательно делать. создавай функции классы формирующие ту часть страницы, которая тебе необходима. можешь вообще создать 1 файл например content.php вне корневой папки сайта и там делать варианты шаблонов для этих страниц.

(Отредактировано автором: 31 Июля, 2016 - 11:05:56)

 
 Top
VadiKO
Отправлено: 31 Июля, 2016 - 12:03:32
Post Id


Новичок


Покинул форум
Сообщений всего: 39
Дата рег-ции: Март 2016  


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




Фигня какая то написана:

PHP:
скопировать код в буфер обмена
  1. $loc = ['users'=>'users.php','admin'=>'admin.php','profile'=>'profile.php'];


Сервер не знает как это понимать. Не понял
 
 Top
Fart
Отправлено: 31 Июля, 2016 - 12:26:34
Post Id



Посетитель


Покинул форум
Сообщений всего: 324
Дата рег-ции: Июль 2016  


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




VadiKO пишет:

Фигня какая то написана:
Сервер не знает как это понимать.


ты не знаешь, что тебе отвечает сервер??? или ты не понимаешь, что тебе отвечают???

(Отредактировано автором: 31 Июля, 2016 - 12:27:49)

 
 Top
VadiKO
Отправлено: 31 Июля, 2016 - 12:31:26
Post Id


Новичок


Покинул форум
Сообщений всего: 39
Дата рег-ции: Март 2016  


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




Fart пишет:
ты не знаешь, что тебе отвечает сервер??? или ты не понимаешь, что тебе отвечают???


Ну если тебе от этого станет легче, то вот тебе ответ сервера:

CODE (htmlphp):
скопировать код в буфер обмена
  1. Parse error: syntax error, unexpected
 
 Top
Fart
Отправлено: 31 Июля, 2016 - 12:33:07
Post Id



Посетитель


Покинул форум
Сообщений всего: 324
Дата рег-ции: Июль 2016  


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




1. какая версия пхп?
2. при ссылке ?location=admin сервер отвечает
tti/admin.php
3. весь код выложи что ты там собрал
4. проблема не в сервере, а в твоих знаниях, которых увы не хватает!!!

(Отредактировано автором: 31 Июля, 2016 - 12:35:54)

 
 Top
VadiKO
Отправлено: 31 Июля, 2016 - 12:53:27
Post Id


Новичок


Покинул форум
Сообщений всего: 39
Дата рег-ции: Март 2016  


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




1. PHP Version 5.3.3
2. оно то должно, но из-за того, что здесь написано ересь:

PHP:
скопировать код в буфер обмена
  1.    $loc = ['users'=>'users.php','admin'=>'admin.php','profile'=>'profile.php'];


оно вообще ничего не выдает, кроме ошибки:

CODE (htmlphp):
скопировать код в буфер обмена
  1. Parse error: syntax error, unexpected


3. дело не в коде, но вновь таки если тебе станет легче, то будет достаточно банально простого кода файл index.php и его постое содержимое:

PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3.  
  4. echo 'test';
  5.  
  6. $loc = ['users'=>'users.php','admin'=>'admin.php','profile'=>'profile.php'];
  7. if(isset($_GET['location']))
  8. {
  9.     if(!empty($_GET['location']) AND array_key_exists($_GET['location'], $loc))
  10.     {
  11.          include_once('tti/'.$loc[$_GET['location']]);
  12.     }
  13. }
  14.        
  15. ?>
  16.  


4. я не говорил, то у меня мега знанию, я лишь сетую на то, что серверу строчка:

PHP:
скопировать код в буфер обмена
  1.    $loc = ['users'=>'users.php','admin'=>'admin.php','profile'=>'profile.php'];


непонятна. Однако
 
 Top
Fart
Отправлено: 31 Июля, 2016 - 12:55:21
Post Id



Посетитель


Покинул форум
Сообщений всего: 324
Дата рег-ции: Июль 2016  


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




$loc = ['users'=>'users.php','admin'=>'admin.php','profile'=>'profile.php'];

это массив не помню с какой версии пхп работает с таким массивом:

замени на

$loc = Array('users'=>'users.php','admin'=>'admin.php','profile'=>'profile.php');
пора переходить на новые версии пхп советую уже на пхп 7

(Отредактировано автором: 31 Июля, 2016 - 12:55:48)

 
 Top
VadiKO
Отправлено: 31 Июля, 2016 - 13:04:23
Post Id


Новичок


Покинул форум
Сообщений всего: 39
Дата рег-ции: Март 2016  


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




Замена на

PHP:
скопировать код в буфер обмена
  1. $loc = Array('users'=>'users.php','admin'=>'admin.php','profile'=>'profile.php');


прошла на УРА, все работает как надо. Улыбка

Относительно обновления версии пхп полностью согласен, но к этому необходимо подготовится ) ибо не уверен, что код который как бы работал на ранних версиях пхп может начать некорректно работать на версии 7.

СПАСИБО за помощь!!! Язычок
 
 Top
Fart
Отправлено: 31 Июля, 2016 - 13:08:54
Post Id



Посетитель


Покинул форум
Сообщений всего: 324
Дата рег-ции: Июль 2016  


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




я на форуме ради помощи. чем могу как говорится.

по поводу пхп 7.0.х, ты прав:

+

1. скорость работы новой версии почти в 2 раза перед 5.6.х
2. новые возможности

-

1. переход может быть болезненным для старых версий, но не критично... почитав документацию можно подогнать код
2. мало хостов для пхп 7
3. пхп 7 еще только набирает обороты

(Отредактировано автором: 31 Июля, 2016 - 13:09:17)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB