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]   

> Описание: немогу розобраться с методом $_GET
Араб
Отправлено: 16 Августа, 2011 - 14:29:13
Post Id



Новичок


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


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




Вот хотел написать простенький скрипт, чтобы всё в одном файле было, как пришлось к делу - появилась проблема, немогу понять как сделать несколько страничек в одном php документе, пожалуйста сделайте для меня маленький шаблончик, зарание большое спасибо!
 
 Top
Viper
Отправлено: 16 Августа, 2011 - 14:39:24
Post Id



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


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


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




Приведу пример, а дальше сами т.к. там все просто.
Изначально запрашивается index.php без параметров, а потом с параметрами index.php?page=about

PHP:
скопировать код в буфер обмена
  1. $page = trim($_GET['page']);
  2.  
  3. if (!empty($page)) {
  4.         // главная страница
  5. } elseif ($page == 'about') {
  6.         // показываем текст для страницы "О нас"
  7. }


Можно иначе.
PHP:
скопировать код в буфер обмена
  1. $page = trim($_GET['page']);
  2.  
  3. switch ($page) {
  4.         case 'about': echo 'About page'; break;
  5.         case 'products': echo 'Products page'; break;
  6. }


PS! Все же лепить в один файл не красиво. Хотя бы в класс оформить. А лучше разбить на несколько страниц и вставлять нужное через include.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Араб
Отправлено: 16 Августа, 2011 - 14:48:47
Post Id



Новичок


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


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




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $page = trim($_GET['page']);
  4.  
  5. if (!empty($page)) {
  6. echo'245345';   // главная страница
  7. }
  8.  
  9.  
  10. elseif ($page == 'about') {
  11.        echo'o нас'; // показываем текст для страницы "О нас"
  12. }
  13.  
  14.  
  15.  
  16. ?>


Получаеться вот из етого у меня состоит файл index.php, захожу адресс.ру у меня чистый лист, захожу адресс.ру/index.php?page=about
у меня там 245345 тоесть то что должно быть на главной... что не так я натворил? (Извините я в етом совсем новенький!)
 
 Top
xsh
Отправлено: 16 Августа, 2011 - 14:59:10
Post Id



Новичок


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


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




насколько я знаю это надо уже в конфиги апача лезть, чтобы по умолчанию подхватывался index.php

(Отредактировано автором: 16 Августа, 2011 - 15:01:33)



-----
$хикикомори()
goodlook...goodtime...connect... offline...
 
 Top
КЫР
Отправлено: 16 Августа, 2011 - 15:01:28
Post Id



Частый гость


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


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




По-моему лучше так, главная страница после последнего else
PHP:
скопировать код в буфер обмена
  1.  
  2.     <?PHP
  3.      
  4.     $page = trim($_GET['page']);  
  5.      
  6.     if ($page == 'about') {
  7.            echo'o нас'; // показываем текст для страницы "О нас"
  8.     }
  9.     elseif ($page=='works') { print "ololo";}
  10.  
  11.      else {print "Main page";}
  12.      
  13.      
  14.     ?>
  15.  


-----
Fuck you guys, I'll going home
 
 Top
PATCH
Отправлено: 16 Августа, 2011 - 15:12:50
Post Id



Частый посетитель


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


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




таблица id,title,text.

вывод навигации
PHP:
скопировать код в буфер обмена
  1.  @ $nav_page = mysql_query ("SELECT id,title,text FROM main WHERE id!=2");
  2.         @$row_page = mysql_fetch_array ($nav_page);
  3.        
  4.         do {echo "<div><a href='index.php?nav=".$row_page['id']."'>".$row_page['title']."</a></div>"}
  5.         while ($row_page = mysql_fetch_array ($nav_page));



index.php (основной вывод страниц
PHP:
скопировать код в буфер обмена
  1. if(!isset($_GET['page']))
  2. { $_GET['page'] = 1 } определение главной страницы по id



PHP:
скопировать код в буфер обмена
  1. $nav_page1 = mysql_query ("SELECT text FROM main WHERE id = $_GET[page]");
  2. $row_page1 = mysql_fetch_array ($nav_page1);
  3.                
  4. if (mysql_num_rows($nav_page1) > 0)
  5. {
  6. echo "<a class=main_text  >".$row_page1['text']."</a>"
  7. }


помойму куда лучше чем расписывать скрипт if else с каждой новой страницей)
 
 Top
Араб
Отправлено: 16 Августа, 2011 - 15:34:31
Post Id



Новичок


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


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




Всем спасибо за помощь!!! взял для себя самый подходящий вариант, ето вариант КЫРа.
 
 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