Jump to content
  • 0

PHP Несколько страниц в одной


Kostya
 Share

Question

Здравствуйте!

Расскажите пожалуйста, как сделать PHP файл, чтобы в нём находились несколько страниц: например файл news.php (список новостей) а news.php?new1 (первая новость) и.тд. По принципу как устанавливаются CMS (ведь все страницы установки прописаны в один файл install.php).

Link to comment
Share on other sites

23 answers to this question

Recommended Posts

  • 0

Да какой mod_rewrite? Тут человек по ходу дела даже с $_GET не знаком, а ты mod_rewrite...

Автору: надо пойти в магазин и купить книгу про PHP. Ну или в интернете скачать. Тас всё написано.

Link to comment
Share on other sites

  • 0

на файлах

http://php.su/articles/?cat=examples&page=057

с исползованием базы данных

http://php.su/articles/?cat=examples&page=062

обсуждение с всевозможными ошибками и вопросами

http://forum.php.su/topic.php?forum=33&topic=42 и http://forum.php.su/topic.php?forum=33&topic=15

Link to comment
Share on other sites

  • 0

Вот, последний оратор всё написал. Потому что через простой $_GET не обработаешь переменные new1, new2 и так далее. Поскольку заранее неизвестно число новостей. Если только так:

$news_count=calc_news();  //Как-то получаем число новостей в базе
for($q=1; $q <= $news_count; $q++)
if (isset($_GET['news'.$q]))
{
show_news($q); //Вывод q-й новости
break; //Защита от ?news1&news2&news10
}

Link to comment
Share on other sites

  • 0

Здравствуйте!

Расскажите пожалуйста, как сделать PHP файл, чтобы в нём находились несколько страниц: например файл news.php (список новостей) а news.php?new1 (первая новость) и.тд. По принципу как устанавливаются CMS (ведь все страницы установки прописаны в один файл install.php).

А я по-другому понимаю ТС, что-то вы ему намутили не то. Ему, кажется, просто нужно почитать про управляющие конструкции

Link to comment
Share on other sites

  • 0

я спрашиваю по принципу этого сайта. тоесть главная фотоальбома одна стр., а альбомы находятся по адресу foto.html?sid=1&gid=7#1_77#1_7 (id альбома 1&gid=7#1_77#1_7) и тд.. как так сделать?

вот тут передаётся информация переменная, которая определяет какой альбом выводить: gid=7.

её можно обнаружить в глобальном массиве гет:


$pageId = $_GET['gid'];

и в зависимости от значения включить нужный контент (новость), с помощью конструкции switch-case


$pageId = $_GET['gid'];
switch($pageId)
{
case 1: require_once 'new-1.htm'; break;
case 2: require_once 'new-2.htm'; break;
default: return false;
}

в общем случае как-то так. по уму надо добавить проверку переменной перед инициализацией. можно использовать вместо конструкции подстановку переменной в имя включаемого файла.

Link to comment
Share on other sites

  • 0

Что это значит? "таки на руби вероятно

или питоне."

ну сервер в заголовках ответа говорит

Apache/2.0.63-lk.d (Unix) mod_ssl/2.0.63-lk.d OpenSSL/0.9.8o mod_dp20/0.99.2 mod_python/3.3.1 Python/2.6.5 mod_ruby/1.2.6 Ruby/1.8.7(2010-08-16) mod_wsgi/3.3

как бе php нету. ну или шифруется.

Link to comment
Share on other sites

  • 0

Можно проще, но не одним, а 2 файлами. один для вывода, другой для просмотра.

Создаем файл для краткого вывода например news.php


<?php
$db = mysql_connect ("localhost","base","12345");
mysql_select_db("news",$db);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Заголовок</title>
</head>
<body>
<?php
$result = mysql_query ("SELECT id,title,description,author,date FROM news",$db);
$myrow = mysql_fetch_array ($result);
do {
printf ("<table align='center'>
<tr>
<td>
<p><a href='view_news.php?id=%s'>%s</a></p>
<p>Дата добавления: %s</p>
<p>Автор: %s</p></td>
</tr>
<tr>
<td>%s</td>
</tr>
</table><br><br>", $myrow["id"], $myrow["title"],$myrow["date"],$myrow["author"],$myrow["description"]);
}
while ($myrow = mysql_fetch_array ($result));
?>
</body>
</html>

Создаем файл для отображения view_news.php


<?php
$db = mysql_connect ("localhost","base","12345");
mysql_select_db("news",$db);
if (isset($_GET['id'])) {$id = $_GET['id'];}
$result = mysql_query("SELECT * FROM news WHERE id='$id'",$db);
$myrow = mysql_fetch_array($result);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title><?php echo $myrow['title']; ?></title>
</head>
<body>
<p class="view_title"><?php echo $myrow['title']; ?></p>
<p class="view_date">Дата добавления: <?php echo $myrow['date']; ?></p>
<p class="view_date">Автор: <?php echo $myrow['author']; ?></p>
<p><?php echo $myrow['text']; ?></p>
</body>
</html>

Edited by ctpz
Link to comment
Share on other sites

  • 0

вот ещё один пример того, чего я хочу узнать. тоесть http://fantasyflash.ru/index.php - главная , а http://fantasyflash.ru/index.php?&kontent=knopka -другая страница, а все в одном файле index.php

А кто вам это сказал, что всё это в одном файле?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy