Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Можно ли из урл адреса получить переменную без "?"
 
 автор: Pifa   (22.02.2006 в 11:50)   письмо автору
 
 

Доброе время суток уважемые!
Хочу очень поблагодарить создателей книги PHP5 и данного ресурса!
Я пока постигаю азы php и может мой вопрос покажется глупым но все же.
У меня стоит задача сделать сайт с урлами вида ... .html Как предавать из урла значение переменной понятно- после "?" имя переменной=значение например: static.html?content=news
Подскажите, можно ли передавать из урла значение переменной например: news.html, то есть мне нужно что бы значение какой либо переменной принимало news и по нему включался контент. Если это возможно, подскажите что почитать на эту тему и может быть коротинький пример.
Заранее благодарен!

   
 
 автор: elenaki   (22.02.2006 в 12:16)   письмо автору
 
   для: 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> 

   
 
 автор: Unkind™   (22.02.2006 в 13:09)   письмо автору
 
   для: elenaki   (22.02.2006 в 12:16)
 


<?php
//Получаем переменную. Например из массива $_POST
$url $_POST['url'];
//Делаем массив
$url explode("?"$url);
echo 
$url[0]; //Выведет URL до знака "?"
?>

   
 
 автор: elenaki   (22.02.2006 в 13:12)   письмо автору
 
   для: Unkind™   (22.02.2006 в 13:09)
 

У меня стоит задача сделать сайт с урлами вида ... .html => HE PHP!

   
 
 автор: Unkind™   (22.02.2006 в 13:20)   письмо автору
 
   для: elenaki   (22.02.2006 в 13:12)
 

elenaki,
>У меня стоит задача
ааа вы меня путаете...=)

   
 
 автор: Unkind™   (22.02.2006 в 13:17)   письмо автору
 
   для: 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
?>

   
 
 автор: Pifa   (22.02.2006 в 19:33)   письмо автору
 
   для: 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?

   
 
 автор: Unkind™   (22.02.2006 в 20:15)   письмо автору
 
   для: 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
?>

   
 
 автор: elenaki   (22.02.2006 в 20:24)   письмо автору
 
   для: Unkind™   (22.02.2006 в 20:15)
 

а инклуд со знаком вопроса не будет работать :(
пробовала много раз...

   
 
 автор: Pifa   (22.02.2006 в 21:28)   письмо автору
 
   для: 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(например с текстом "это о нас")

   
 
 автор: Unkind™   (22.02.2006 в 22:12)   письмо автору
 
   для: Pifa   (22.02.2006 в 21:28)
 

>static.html?content=news
>файл static.php
Это просто опечатка или вы разные имена даете?

И чем тогда мой вариант не подходит? =) Там ведь фактически то же самое...

   
 
 автор: Pifa   (22.02.2006 в 22:22)   письмо автору
 
   для: Unkind™   (22.02.2006 в 22:12)
 

это я смотрел будет ли работать ?... после html, думал может оно работает только если файл php, а оно и с html работает.
Чесно сказать сегодня уже нет сил вникнуть в ваш код, завтра со свежей головой разберусь с ним. Просто для меня в рнр еще много белых пятен(

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования