PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Ink0gnito
Отправлено: 13 Января, 2013 - 00:19:23
Post Id


Новичок


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


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




Всех приветсвую. Скажу сразу, я новичок, php изучаю меньше недели, как и вообще программирование, так что сильно не ругайте за кривоту написанного, незнание и тп... =)

Принцип реализации взял отсюда: http://forum.php.su/topic.php?fo...opic=736&p=1

index.php
Часть написанного я убрал, включая другие библиотеки и касающиеся них функции, чтобы особо не отвлекали.
Спойлер (Отобразить)

url.php
Сразу пытаюсь приучится к ООП, не обращайте внимание на поле и конструктор, изначально пытался тримить $this->url вместо $_SERVER['QUERY_STRING'].
Спойлер (Отобразить)

Шаблон main.php
В зависимости от переменной $view подключается опередённая страница из папки pages.
Спойлер (Отобразить)

.htaccess
Спойлер (Отобразить)

При таком .htaccess денвер выдаёт ошибку Internal Server Error, модуль rewrite раскоментирован. Где я ошибся? =С

(Отредактировано автором: 13 Января, 2013 - 00:27:43)

 
 Top
sKaa
Отправлено: 13 Января, 2013 - 00:23:16
Post Id



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


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


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

[+]


Попробуйте добавить

Options +FollowSymlinks
 
 Top
Toxa
Отправлено: 13 Января, 2013 - 00:23:31
Post Id



Посетитель


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


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

[+]


ну да, конечно, меньше недели и сразу ООП


-----
Удобный сервис для хранения файлов
 
 Top
avtor.fox
Отправлено: 13 Января, 2013 - 00:23:34
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2082
Дата рег-ции: Март 2012  
Откуда: Воронеж


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




Ink0gnito
А с чего Вы взяли что нужно модуль раскомментировать?
А ну возвращайте всё как было Нахмурился
(Добавление)
Toxa, а Вы весёлый человек.
 
 Top
sKaa
Отправлено: 13 Января, 2013 - 00:26:20
Post Id



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


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


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

[+]


avtor.fox пишет:
А с чего Вы взяли что нужно модуль раскомментировать?
А ну возвращайте всё как было Нахмурился

Думаю, что речь идёт о httpd.conf, а именно о строке :
LoadModule rewrite_module modules/mod_rewrite.so
 
 Top
avtor.fox
Отправлено: 13 Января, 2013 - 00:27:23
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2082
Дата рег-ции: Март 2012  
Откуда: Воронеж


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




sKaa пишет:
Думаю, что речь идёт о httpd.conf, а именно о строке :
LoadModule rewrite_module modules/mod_rewrite.so
Ink0gnito пишет:
При таком .htaccess денвер выдаёт ошибку Internal Server Error, модуль rewrite раскоментирован. Где я ошибся? =С

Давайте спросим ТС, что будет, если полностью очистить htaccess.
 
 Top
sKaa
Отправлено: 13 Января, 2013 - 00:34:51
Post Id



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


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


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

[+]


avtor.fox, я уже дал ему свой совет, что на мой взгляд стоит попробовать сделать.
 
 Top
esterio
Отправлено: 13 Января, 2013 - 00:55:30
Post Id



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


Покинул форум
Сообщений всего: 5027
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




Ink0gnito пишет:
$query_string = str_replace("view=","",trim($_SERVER['QUERY_STRING']));
                $query_string = urldecode($query_string);

Ink0gnito пишет:
RewriteRule ^(.*) index.php?view=$1 [L]

Зачем все так сложно
Можно просто
PHP:
скопировать код в буфер обмена
  1. $query_string = isset($_GET['view']) ? $_GET['view'] : 'index';

(Добавление)
sKaa пишет:
LoadModule rewrite_module modules/mod_rewrite.so

А если у ТС денвер, то тогда вместо .so нужно .dll
 
 Top
Ink0gnito
Отправлено: 13 Января, 2013 - 01:07:58
Post Id


Новичок


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


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




sKaa пишет:
Попробуйте добавить
Options +FollowSymlinks

Благодарю, заработало. =)

Toxa пишет:
ну да, конечно, меньше недели и сразу ООП

А почему бы и нет? Применяю патерн сингтон для подключения к бд, чтобы не привысить лимит допустимых подключений, весьма удобно. =)

avtor.fox пишет:
Ink0gnito
А с чего Вы взяли что нужно модуль раскомментировать?
А ну возвращайте всё как было

Аячо, яничо. Он по дефолту раскоментирован.

(Отредактировано автором: 13 Января, 2013 - 01:10:43)

 
 Top
avtor.fox
Отправлено: 13 Января, 2013 - 01:15:51
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2082
Дата рег-ции: Март 2012  
Откуда: Воронеж


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




Ink0gnito
Что же у Вас за Денвер такой?)))
Специально скачал денвер, запустил и попробовал "Ваш" код. Всё работало.
 
 Top
esterio
Отправлено: 13 Января, 2013 - 01:18:25
Post Id



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


Покинул форум
Сообщений всего: 5027
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




Ink0gnito пишет:
Применяю патерн сингтон для подключения к бд

Я б не стал так делать, потому как придет время нужно будет использовать две ато и более Базы данных. Лучше сделайте wrapper для подключення к бд, который являет собой singleton и возвращает стандартное подключения.
Ink0gnito пишет:
Дальше будет необходимость обрабатывать $url_params[1], а возможно 2 и далее, например для создания реферальной ссылки для регистрации по типу "mysite.ru/reg/username".

Сдесь Вы чуть не дочитали ман
Я делаю так
CODE (htaccess):
скопировать код в буфер обмена
  1. RewriteEngine on
  2. RewriteBase /
  3. RewriteCond %{REQUEST_FILENAME} !-d
  4. RewriteCond %{REQUEST_FILENAME} !-f
  5. RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]

Вся строка теперь в GET параметре route
И затем в PHP
PHP:
скопировать код в буфер обмена
  1. $route = isset($_GET['route']) ? explode('/', trim($_GET['route'], '/')) : array('index');

И все. В переменной $route все что нужно

(Отредактировано автором: 13 Января, 2013 - 01:24:08)

 
 Top
Ink0gnito
Отправлено: 13 Января, 2013 - 01:34:06
Post Id


Новичок


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


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




esterio, спасибо. Так и перепишу. Улыбка
 
 Top
LIME
Отправлено: 13 Января, 2013 - 01:38:21
Post Id



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


Покинул форум
Сообщений всего: 10740
Дата рег-ции: Нояб. 2010  


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




можно пример такого wrapper?


-----
: DDD
 
 Top
esterio
Отправлено: 13 Января, 2013 - 01:40:03
Post Id



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


Покинул форум
Сообщений всего: 5027
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




LIME пишет:
можно пример такого wrapper?

Еммм думаю Вам ен сложно самому такой написать
 
 Top
LIME
Отправлено: 13 Января, 2013 - 01:41:55
Post Id



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


Покинул форум
Сообщений всего: 10740
Дата рег-ции: Нояб. 2010  


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




не понял смысла в нем
может на примере пойму


-----
: DDD
 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB