|
|
|
| Доброе время суток уважемые!
Хочу очень поблагодарить создателей книги PHP5 и данного ресурса!
Я пока постигаю азы php и может мой вопрос покажется глупым но все же.
У меня стоит задача сделать сайт с урлами вида ... .html Как предавать из урла значение переменной понятно- после "?" имя переменной=значение например: static.html?content=news
Подскажите, можно ли передавать из урла значение переменной например: news.html, то есть мне нужно что бы значение какой либо переменной принимало news и по нему включался контент. Если это возможно, подскажите что почитать на эту тему и может быть коротинький пример.
Заранее благодарен! | |
|
|
|
|
|
|
|
для: Pifa
(22.02.2006 в 11:50)
| | например, в файле thumbs.html у нас маленькие фотки, превью. а по клику на них надо
открыть большую. делаем линк в виде pic.hrml?0&1, где 0 - галерея (в отдельном каталоге),
а 1 - номер картинки (все имена файлов-картинок имеют вид 1.html по порядку)
а в fayile pic.html вытаскиваем из URL номер галереи и картинки и показываем ее.
<script language="JavaScript">
gall=location.search.substring(1);
var param=gall.split('&');
if (param[1] != "") {
gallery = param[0];
n = param[1];
PicName = "images/" + gallery + "/pic_" + n + ".jpg";
document.write ("<img src=\"" + PicName+"\" border=0 style='cursor:hand;' onclick=\"imgWin('" + PicName + "')\">");
}
else { document.write ("<img src=\"images/pic_0.jpg\">");}
</script>
|
| |
|
|
|
|
|
|
|
для: elenaki
(22.02.2006 в 12:16)
| |
<?php
//Получаем переменную. Например из массива $_POST
$url = $_POST['url'];
//Делаем массив
$url = explode("?", $url);
echo $url[0]; //Выведет URL до знака "?"
?>
|
| |
|
|
|
|
|
|
|
для: Unkind™
(22.02.2006 в 13:09)
| | У меня стоит задача сделать сайт с урлами вида ... .html => HE PHP! | |
|
|
|
|
|
|
|
для: elenaki
(22.02.2006 в 13:12)
| | elenaki,
>У меня стоит задача
ааа вы меня путаете...=) | |
|
|
|
|
|
|
|
для: Unkind™
(22.02.2006 в 13:09)
| | Блин...Как-то я не понял что именно нужно...
<?php
if(empty($_GET))
{
echo "Страницы не существует...";
exit();
}
$page = $_GET['content'];
if($page == "news")
{
include "news.htm";
}
if($page == "about")
{
include "about.htm";
}
//etc
?>
|
| |
|
|
|
|
|
|
|
для: Unkind™
(22.02.2006 в 13:17)
| | Пытался сформулировать понятно но видно не очень получилось.
Пытаюсь разобраться что к чему, все что написали полезное и интересное, но не совсем то.
По поводу "У меня стоит задача сделать сайт с урлами вида ... .html => HE PHP!"
В html файл я делаю include то есть все же реч о php.
По поводу
elenaki,
>У меня стоит задача
ааа вы меня путаете...=) ... Просто изучать php мне так проще, есть какие то идее и думаю как их осуществить.)
Значит хочу я сделать сайт, в котором будет одна страница шаблон а контент в нее будет включаться посредством include. Есть простое решение, делаем страницу шаблон index.html в нем включаем ссылки вида <a href = "index.html?content=news">новости</a>
В месте где нужно включить контент из файла
<?php
include("$content.inc");
?>
|
то есть переменной content присваивается значение news и в это место включается контент из файла $news.inc
Проблема в том что как мне кажется и вроде даже читал, что ссылки со знаком вопроса хуже индексируются в поисковиках (можно проверить в яндексе по любому запросу на первых местах все идет index.html
вот я и хочу сделать то же самое только получать значение переменной из ссылок вида http://домен/news.html
вырезать кусок строки после слэша, то есть news.html я наверно смогу с помощью строковых функций а вот как его из url адреса получить я незнаю. Наверно это очень просто, но пока я ненашел как.
Кстати из опыта опытных людей- все же так удобнее делать небольшие сайты без баз , имею в виду с помощью include? | |
|
|
|
|
|
|
|
для: Pifa
(22.02.2006 в 19:33)
| | Так зачем вам этот шаблон? Либо при помощи GET-массива, либо просто создавайте news.htm и другие файлы...По-другому незя...
Я могу только это предложить:
<?php
//Определяем, что нужно пользователю (страница)
$page = $_GET['page'];
//Если только зашел, то отправляем на главную
if(empty($page))
{
header("Location: index.php?page=main");
}
if($page == "main")
{
header("Location: main.htm");
}
//Если указана news, то направляем на news.htm
if($page == "news")
{
header("Location: news.htm");
}
//etc
?>
|
| |
|
|
|
|
|
|
|
для: Unkind™
(22.02.2006 в 20:15)
| | а инклуд со знаком вопроса не будет работать :(
пробовала много раз... | |
|
|
|
|
|
|
|
для: elenaki
(22.02.2006 в 20:24)
| | у меня есть такой примерчик файл index.php
<html>
<body>
//ссылки
<a href = "static.html?content=news">новости</a></br>
<a href = "static.html?content=about">о нас</a></br>
</body>
</html>
|
файл static.php
<html>
<body>
<?php
include("$content.html");
?>
</body>
</html>
|
и делаешь 2 файла news.html(например с текстом "это новости") и about.html(например с текстом "это о нас") | |
|
|
|
|
|
|
|
для: Pifa
(22.02.2006 в 21:28)
| | >static.html?content=news
>файл static.php
Это просто опечатка или вы разные имена даете?
И чем тогда мой вариант не подходит? =) Там ведь фактически то же самое... | |
|
|
|
|
|
|
|
для: Unkind™
(22.02.2006 в 22:12)
| | это я смотрел будет ли работать ?... после html, думал может оно работает только если файл php, а оно и с html работает.
Чесно сказать сегодня уже нет сил вникнуть в ваш код, завтра со свежей головой разберусь с ним. Просто для меня в рнр еще много белых пятен( | |
|
|
|