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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Несколько вопросов

 PHP.SU

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


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

> Без описания
dropoff
Отправлено: 20 Февраля, 2011 - 10:26:49
Post Id



Посетитель


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


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




Привет всем. В виду того, что cms из коробки для меня сложны, а переделывать сложные коды мне пока не под силу
я решил попробовать написать для себя свой скрипт, который будет такой как мне хочется.
Конечно некоторые части позаимствовал с этого сайта, такие как постраничная навигация, хлебные крошки и т.д.., за что огромное спасибо людям которые их выложили!

1 вопрос - Какие данные как лучше фильтровать?

Например при авторизации пользователь вводи
имя, фамилия, ник, мыло, пароль

Ему так же будут доступны
комментирование
добавление сообщений на странице своего акаунта
переписка с админом

При добавлении новости или комментария пользователю будут доступны несколько HTML тегов для форматирования



Второй вопрос про авторизацию

Сейчас у пользователей есть группа group, где два параметра
1 - админ
0 - просто пользователь

Как лучше делать авторизацию?
1 - общая для всех, для меня и для юзеров
2 - отдельная, для админа своя, для пользователей своя

проверка админ или не админ после авторизации идет через сессии
типа
CODE (text):
скопировать код в буфер обмена
  1. if ($row['group'] == '1')
  2.         $_SESSION['admin'] = true;




3 вопрос - ЧПУ.
Сейчас у меня так

index.php
CODE (text):
скопировать код в буфер обмена
  1. $_URL = preg_replace("/\/+/",'/',$_SERVER['REQUEST_URI']);
  2. $_URL = preg_replace("/^\/(.*)\/?$/U",'\\1',$_URL);
  3. $_URL = preg_replace("/^(.*)\?.*$/U",'\\1',$_URL);
  4. $_URL = explode("/", $_URL);
  5.  
  6. switch (@$_URL[0])
  7. {
  8.         case 'user':
  9.                 include "inc/user.php";
  10.         break;
  11.         case 'news':
  12.                 include "inc/news.php";
  13.         break;
  14.         default:
  15.                 include "inc/default.php";
  16. }


Далее, например
news.php
CODE (htmlphp):
скопировать код в буфер обмена
  1. switch (@$_URL[1])
  2. {
  3.         case 'one':
  4.  
  5. //........
  6.  
  7.                 break;
  8.  
  9.         default:
  10.  
  11. //ТУТ ПОСТРАНИЧНЫЙ ВЫВОД НОВОСТЕЙ
  12.  
  13. }


Постраничный вывод реализовал как ту http://php.su/articles/?cat=examples&page=062, малость его переделав.

Вот как правильно сделать ЧПУ с постраничностью?

Сейчас у меня так
site.ru/news - все новости
site.ru/news?page=1 etc...

Как реализовать, чтобы было
site.ru/news/1
или
site.ru/news/page/1

и чтобы ЧПУ было у новости
site.ru/news/moya-stranica

moya-stranica - будет браться из БД

С ЧПУ реально тяжко. Перерыл кучу сайтов и форумов, но ГОТОВОГО решения, описанного от корки до корки не нашел.

Если у кого-то будет минут 5 свободного времени, ответьте пожалуйста!
Заранее спасибо.
 
 Top
Волк
Отправлено: 20 Февраля, 2011 - 10:47:34
Post Id



Частый гость


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


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




на первые два вопроса можно ответь что это зависит от требований к твоей цмски и от вкуса. По поводу чпу, у меня друг написал цмску и у него там блыло довольно сложно сделано, через конфигурации сервера (он использовал nginx), и каждый раз когда юзер добовлял новую страницу то скрипт переписывал файл конфигурации nginxa и .htaccessы. А вообще писать свою цмску нужно когда у тебя лет 5 опыта программирования, и ты перекопал все цмски и знаеш все их нюансы, все их плюсы и минусы.

(Отредактировано автором: 20 Февраля, 2011 - 10:50:38)



-----
Таран - оружие героев!
 
 Top
dropoff
Отправлено: 20 Февраля, 2011 - 10:51:08
Post Id



Посетитель


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


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




Ну, я не полноценную же пишу)
я для себя, для мелкого сайтика)
 
 Top
Волк
Отправлено: 20 Февраля, 2011 - 11:01:37
Post Id



Частый гость


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


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




цмска дело серьезное, я совершил однажды одну ошибку, когда решил написать собсвенную браузерную игру прочитав один учебник по пхп. Тоже думал что напишу её один и за неделю или максимум за две. Я её писал гораздо больше чем неделю а когда более мение её завершил, стали появлястя игры гораздо более навороченые чем моя. И моя игра оказалось не конкурентно способной (да и как я сейчас понимаю взломать её было довольно просто, уязвимостей там было очень много).

Поэтому для своего сайта советую использовать какую нибудь уже готовую цмску, секономиш время..


-----
Таран - оружие героев!
 
 Top
dropoff
Отправлено: 20 Февраля, 2011 - 11:19:05
Post Id



Посетитель


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


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




В том, то и дело, что готовые использовать совсем нет желания.
+ изучаю PHP пока делаю. Я сам дизайнер, мне PHP нужно только для решения банальных проблем с которыми часто сталкиваюсь. Ну и работа со smarty. Встроил его в свой сайт.

Обрисую свое ТЗ
новости, страницы, контакты, портфолио, клиенты

сайт по сути будет только для клиентов.

Из всего вышеперечисленного нет только обычных страниц
все остальное уже реализовано. Но пока там банально на уровне: список, добавление, редактирование, регистрация, авторизация...

Функции на примитивном уровне понимаю: передать значение, обработать, вернуть. С классами - пока совсем туго.
Но пока без них обхожусь.
 
 Top
Волк
Отправлено: 20 Февраля, 2011 - 11:42:56
Post Id



Частый гость


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


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




http://spectator[dot]ru/technology/p[dot][dot][dot]er_friendly_urls вот ссыка про то как делать ЧПУ.. надеюсь поможет...


-----
Таран - оружие героев!
 
 Top
dropoff
Отправлено: 20 Февраля, 2011 - 17:10:14
Post Id



Посетитель


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


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




Спасибо за ссылку, там я уже был)

Не могу понять как использовать то, что у меня уже есть.
Я имею ввиду $_SERVER['REQUEST_URI']. Не хочу забивать .htaccess, когда можно это не делать

Может у кого-то есть готовая реализация такого ЧПУ с постраничной навигацией?
Или подскажите как прикрутить к этой постраничности http://php.su/articles/?cat=exam...les&page=062
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB