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
Форумы портала PHP.SU :: Версия для печати :: URL
Форумы портала PHP.SU » » Вопросы новичков » URL

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

1. ytrewq123 - 06 Октября, 2015 - 07:12:52 - перейти к сообщению
Здравствуйте!
Не мог бы кто ни будь помочь из знающих. Ситуация следующая.
Имеются страницы с адресами. Например.
Страница.пхп/1
Страница.пхп/2
Страница.пхп/3
Человек заполняет форму и делается другая страница, а например имя пользователя добавляется в адрес страницы. И станицы имеют адреса.
Страница.пхп/ааа
Страница.пхп/ввв
Страница.пхп/ссс
Так вот, я хотел бы что бы заходя на адрес созданный человеком, он попадал бы на существующую.
То есть
Страница.пхп/ааа --- Страница.пхп/1
Страница.пхп/ввв --- Страница.пхп/2
Страница.пхп/ссс --- Страница.пхп/3
Вроде смотрел что что-о можно при помощи mod_rewrite.
Но как я понимаю там надо прописать что на что. А у меня адрес страницы что создаст человек не известен. И как тогда? И если не Апачи???
Ну как-то так.
Буду очень признателен за помощь.
2. dcc0 - 06 Октября, 2015 - 10:48:37 - перейти к сообщению
Непонятно
3. ytrewq123 - 06 Октября, 2015 - 17:39:56 - перейти к сообщению
Ладно, спрошу просто.
Можно ли с помощью mod_rewrite. Написать.
Не адрес страницы который уже есть. А адрес который создастся.
То есть не Страница.пхп/ааа(которая уже имеет такое название. Ибо мы такое задали) --- Страница.пхп/1(которая уже имеет такое название. Ибо мы такое задали)
А страница Страница.пхп/$a(её название мы не знаем) --- Страница.пхп/1(которая уже имеет такое название. Ибо мы такое задали) И что если не апачи?
Ну как-то так???!!!
4. DelphinPRO - 06 Октября, 2015 - 19:51:10 - перейти к сообщению
Будь проще:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. RewriteEngine On
  3.  
  4. RewriteCond %{REQUEST_FILENAME} !-d
  5. RewriteCond %{REQUEST_FILENAME} !-f
  6. RewriteRule ^(.*)$ /index.php [L]
  7.  


Все запросы - на index.php. В index.php смотри $_SERVER['REQUEST_URI'] и по нему определяй, что попросили.
5. ytrewq123 - 06 Октября, 2015 - 20:46:59 - перейти к сообщению
Спасибо Вам большое.
Я как раз рою в этом направлении. Понимаю что в данной записи все пойдут через index.php. А в $_SERVER['REQUEST_URI'] мы увидим адрес куда желают идти. И как нам отправить туда, куда хотели.
Извините если туплю.
6. DelphinPRO - 06 Октября, 2015 - 21:36:37 - перейти к сообщению
ytrewq123 пишет:
И как нам отправить туда, куда хотели.

Нужно не отправлять, куда хотели, а показать то, что хотели.

Если непонятно, покажи несколько реальных урлов, попробую объяснить.
7. ytrewq123 - 06 Октября, 2015 - 22:31:32 - перейти к сообщению
Простите, вот это именно и не могу понять и чего пытаюсь добиться.
Но у меня нет каких либо в сети, всё пока локально.
Если Вас не затруднит, всё же мне пояснить как это реализовать. Понимаю что выбешивает такое не знание и не способность как бы чем-то помочь самому себе с моей стороны. Что я не могу даже показать несколько реальных урлов. Но если можете. Я был бы Вам очень признателен ибо уже давно над этим бьюсь и всё ни как.
Простите, но никак не могу это понять. А хотел бы и очень надо.
8. andrewkard - 06 Октября, 2015 - 23:39:05 - перейти к сообщению
ytrewq123
Вы прямо как из сказки: "Найди то, не знаю что..."
Тут нужно четко определить зависимости или рандомно отдавать какую то страницу.
Если
ytrewq123 пишет:
Страница.пхп/$a(её название мы не знаем) --- Страница.пхп/1

то нужно какой то отличительный признак для Страница.пхп/$a, что бы перенаправить ее на Страница.пхп/1
9. ytrewq123 - 07 Октября, 2015 - 00:22:07 - перейти к сообщению
Наверное Вы правы…
Сам понимаю, как тяжко когда собеседник тупит. Но простите. Мне это очень нужно понять для проекта.

Вот что и хочу понять.

andrewkard пишет:
Тут нужно четко определить зависимости или рандомно отдавать какую то страницу.



Не, рандомно нельзя. Значит, всё таки надо за что-то цепляется. Хорошо, тогда предположим у станицы Страница.пхп/$a(её название мы не знаем) будет после $a, число 1. То есть как бы первая. Страница.пхп/$a1. Следующая
Страница.пхп/$a2. Как то так.
Страница.пхп/$a1. --- Страница.пхп/1
Страница.пхп/$a2. --- Страница.пхп/2

То есть цифра после $a будет нам известна. Этого достаточно?
И если да, то как тогда реализовать.
10. DelphinPRO - 07 Октября, 2015 - 10:07:34 - перейти к сообщению
ytrewq123 пишет:
Но у меня нет каких либо в сети, всё пока локально.

Я не просил в сети.
Я просил примеры реальных урлов, которые вы будете использовать.
По вашим "Страница.пхп/$a2. --- Страница.пхп/2" я не могу ничего понять.
11. ytrewq123 - 07 Октября, 2015 - 16:30:46 - перейти к сообщению
Извините, извините, извините. Но я подумал и наверное, не туда рою.
Напишу просто что я хочу.
Вот какая проблема и вопрос. Как создаётся страница, например на этом форуме. Ведь страницы
http://forum.php.su/topic.php?fo...mp;v=#1444201654
Не было, пока я не создал эту тему. Так откуда она появилась, автоматом. Ведь дизайн везде один. Только меняется адрес, страниц и информация что мы пишем.
Если Вас не затруднит и я Вам не совсем ещё надоел. Вы не могли бы мне пояснить как это происходт. Как формируются эти новые страницы, со своими адресами.
Ещё раз извиняюсь что, Вам пришлось читать мои глупости.
Хотя за перенаправление всех на index спасибо. Это тоже было проблемой, что бы не могли залезть с другого адреса.
12. DelphinPRO - 07 Октября, 2015 - 17:31:30 - перейти к сообщению
В простейшем случае все запросы перенаправляются в index.php (см выше)

Там читаете request uri

PHP:
скопировать код в буфер обмена
  1. $uri = $_SERVER['REQUEST_URI'];
  2.  
  3. // Пусть пришел урл /blog/12
  4.  
  5. $s = explode('/', $uri); // забиваем на части по слешу
  6.  
  7. // Пусть первая секция будет файлом обработчиком
  8.  
  9. $file = $s[0];
  10.  
  11. include $file . '.php';


На этом весь index.php закончен. (Конечно должны быть всякие проверки на правильность)

дальше в blog.php (его мы подключили инклудом)

PHP:
скопировать код в буфер обмена
  1. // вторая секция урла - идентификатор статьи блога
  2. $id = $s[1];
  3.  
  4. $data = db_query("SELECT * FROM 'blog' WHERE id= $id");
  5.  
  6. // Данные получили, осталось подключить шаблон
  7.  
  8. include 'templates/blog.phtml';


А в шаблоне элементарно показываем статью из блога

CODE (htmlphp):
скопировать код в буфер обмена
  1. <h1><?= $data['title']</h1>
  2. <div><?= $data['text']</div>
13. ytrewq123 - 07 Октября, 2015 - 18:00:21 - перейти к сообщению
Спасибо. Спасибо Вам огромное. Буду пробовать. Надеюсь всё пойму и получится. Ещё раз спасибо Вам.
(Добавление)
Спасибо. Несколько вопросов.
Всё ясно выбираем нужные части Урл.
Приинклюдили как бы этот файл. Всё ясно.
DelphinPRO пишет:
// Пусть пришел урл /blog/12

В нашем случае
Include ' blog.php';
DelphinPRO пишет:

дальше в blog.php (его мы подключили инклудом)

Вот тут простите. А где этот файл появляется. Где он, что бы в нём писать?
…………………………
$data = db_query("SELECT * FROM 'blog' WHERE id= $id");
Здесь ясно из таблицы blog вытащить в нашем случае информацию 12.
И потом показать инфо. При помощи кода в шаблоне.
Да?
Простите за невежество. Но мне очень надо понять.
14. DelphinPRO - 07 Октября, 2015 - 20:09:36 - перейти к сообщению
ytrewq123 пишет:
Вот тут простите. А где этот файл появляется. Где он, что бы в нём писать?

Где вы его создадите во время написания сайта, там он и будет лежать Улыбка

ytrewq123 пишет:
Здесь ясно из таблицы blog вытащить в нашем случае информацию 12.
И потом показать инфо. При помощи кода в шаблоне.
Да?

да
15. ytrewq123 - 07 Октября, 2015 - 20:13:08 - перейти к сообщению
Просто огромнейшее спасибо.
Буду работать.
Если что не пойму ещё потревожу вас если позволите. Поэтому, если можете загляните сюда, через время. Сегодня наверное нет. Вам уже спать. У нас день впереди. Для обдумывания и реализации.
СПАСИБО.
Спасибо.

 

Powered by ExBB FM 1.0 RC1