Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Мой первый настоящий сайт, теория 
:(
    Опции темы
DenWPF
Дата 31.1.2011, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



Первый раз сам пишу весь сайт, который будет использоваться большим количеством людей. (нуууу очень бы хотелось)

Я очень хочу что бы сайт быстро стартанул, по этому я не буду делать админку, так как управлять сайтом по началу буду только я.

первое с чего я начал это дизайн (делал его не я) как по мне он нормальный, но очень хотелось бы что бы его можно было легко изменять.

да я хотел использовать MVC и smarty, но из-за того что не знаю не того и не того пришлось писать просто в блокноте и без всех этих благ =(. Хотя по MVC +smarty я бы разобрался если бы был пример хотя бы с готовым сайтом, хотя бы на пару страниц.

У меня были 20 подобных html страниц с одинаковыми шапками и менюшками. Я сделал основу и получилось примерно так:

Код

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <link type="text/css" rel="stylesheet" href="css/main.css">
    <!--[if IE]><link type="text/css" rel="stylesheet" href="css/ieonly.css" /><![endif]-->
    <title>Подарочек - Главная</title>
</head>

<body>
<div id="container">
    <?php
    include("template/header.php");
    ?>

    <?php
    include("template/upmenu.php");
    ?>
    
    <div id="content" class="clearfix">
<div id="bigbox">
            <?php
                include("template/boxreg.php");
            ?>

            <?php
                include("template/leftmenu.php");
            ?>
</div>//и так далее

Не знаю на сколько это правильный подход, но к примеру template/boxreg.php - в себе ещё подключает ещё два блока. Мне показалось что так проще будет менять дизайн и удобней в работе. - правильно так делать?

Дальше регистрация.
Регистрация это у меня обычные input формы. Передаю всё через POST.
Как всё происходит:
  • Пользователь вводит данные (мыло, пароль, капчу).
  • Данные проверяются, если всё верно я добавляю запись в базу.
  • При этом пароль я шифрую md5 к примеру так md5($pass."_test").
  • Дальше нужно как то его активировать, я создаю в базе в отдельной таблице случайное значение и связываю его с id_user
  • После чего вывожу надпись что активация отправилась на почту. на почте ссылка вида test.ru/reg.php?activ=и тут то случаной число
  • После чего если пользователь с такой ссылкой перейдет, я активирую и сразу же авторизую пользователя
Партнерская программа.
Нужно сделать, что была возможность приглашать рефферов. Я делаю это так если кто то перешел по этой ссылке test.ru/index.php?i=123, создаются куки на 30 дней  
Код

 if(isset($_GET['i']))
 {
    SetCookie(TitleProject,$_GET['i'],time()+2592000);
 }

при регистрации проверяю это поле, если в нем есть значение значит записываю его в данные пользователя.


Пока что пытаюсь сделать это. Что бы было все верно и правильно работало.

Где могут быть ошибки? и что я делаю не так?



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


Когда пользователь не авторизованный он видит (ссылку на вход), а когда авторизовался нужно просто делать if(авторизрван == правда) показывать блок с профилем

Это сообщение отредактировал(а) DenWPF - 31.1.2011, 18:00
PM MAIL   Вверх
kovalenko123
Дата 1.2.2011, 06:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 12.5.2008

Репутация: нет
Всего: 1



Такой демо совет вам есть отличный движок php называется YII думаю у вас как эксперта обучение на нем не займет много времени. Там есть демо пример блог вот на основе него можно сделать что угодно http://www.yiiframework.com
Попробуйте я уверен что он подойдет для ваших целей. Все что Вы описали там уже есть!
PM MAIL ICQ   Вверх
mimik
Дата 1.2.2011, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не Rohoss Я
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 1.11.2010

Репутация: нет
Всего: 2



Цитата(SneG0K @  1.2.2011,  08:03 Найти цитируемый пост)
Используйте PHP как шаблонизатор.

почему?
 smile 
PM   Вверх
Shogun
Дата 1.2.2011, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сёгун-сан
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 8.6.2006
Где: Кишинёв

Репутация: 9
Всего: 11



DenWPF, судя по вашему опыту и знаний Вам еще рано браться за Smarty а уж тем более за Yii.

Для начало прочитайте немного про ооп и построение layout-ов, дальше про MVC чтобы понять что это и как оно Вам поможет.


--------------------
2b || !2b
PM MAIL ICQ Skype   Вверх
SneG0K
Дата 1.2.2011, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



Цитата(mimik @  1.2.2011,  15:37 Найти цитируемый пост)
почему?

Что делает смарти? - Преобразовывает в нативный php! Зачем эти лишние телодвижения?
Можно использовать короткие теги и код будет выглядеть ни чуть не хуже шаблона на смарти.
Цитата(kovalenko123 @  1.2.2011,  05:30 Найти цитируемый пост)
отличный движок php называется YII

Это не движок, это фремворк. Выбор фремворка сравним с выбором религии. Я исповедую Zend и JQuery (правда это не из этой оперы)

Еще полезно для здоровья (и своего и последующих программистов) исповедовать MVC и пару других паттернов.


Это сообщение отредактировал(а) SneG0K - 1.2.2011, 22:41
PM WWW Skype   Вверх
skyboy
Дата 1.2.2011, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(SneG0K @  1.2.2011,  21:39 Найти цитируемый пост)
Что делает смарти? - Преобразовывает в нативный php! Зачем эти лишние телодвижения?

что делают prepared statesments с параметрами? преобразуется в запрос со значениями-константами и выполняется! зачем эти лишние телодвижения? используй mysql_query вкупе с оператором конкатенации строк(.).
что делают регулярные выражения? компилируются в конечный автомат. зачем эти лишние телодвижения? используй if + цикл + strpos
так что не аргумент. smile 
по скорости - практически так же.
функциональность практически такая же. почти. наследование шаблонов, возможность перекрытия переменных шаблона - {include file='template' param1="value1"} рулят. include подобного не позволяет.

PM MAIL   Вверх
SneG0K
Дата 2.2.2011, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



skyboy, каждый сходит с ума по-своему.

Цитата(skyboy @  1.2.2011,  22:24 Найти цитируемый пост)
что делают регулярные выражения?

не, ну ты сравнил. Регулярные выражения сокращают код в сотни-тысячи раз.

А смарти, если разобраться ничего уж очень полезного не делает.

PM WWW Skype   Вверх
DenWPF
Дата 2.2.2011, 00:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



Так в знаниях ооп не сомневайтесь.

помогли выбрать..и выбор пал на kohana.


но вот тут сразу и ошибки.

Я пытался подключить view но у меня это не получилось и вот такая ошибка вылетела.
Цитата

SYSPATH\classes\kohana\view.php [ 252 ]

247   */
248  public function set_filename($file)
249  {
250    if (($path = Kohana::find_file('views', $file)) === FALSE)
251    {
252    throw new Kohana_View_Exception('The requested view :file could not be found', array(
253     ':file' => $file,
254    ));
255    }
256 
257    // Store the file path locally

   1.

      SYSPATH\classes\kohana\view.php [ 137 ] » Kohana_View->set_filename(arguments)
      0  

      string(12) "/pages/first"

      132   */
      133  public function __construct($file = NULL, array $data = NULL)
      134  {
      135    if ($file !== NULL)
      136    {
      137    $this->set_filename($file);
      138    }
      139 
      140    if ($data !== NULL)
      141    {
      142    // Add the values to the current data

   2.

      SYSPATH\classes\kohana\view.php [ 30 ] » Kohana_View->__construct(arguments)
      0  

      string(12) "/pages/first"

      1  

      NULL

      25   * @param   array   array of values
      26   * @return  View
      27   */
      28  public static function factory($file = NULL, array $data = NULL)
      29  {
      30    return new View($file, $data);
      31  }
      32 
      33  /**
      34   * Captures the output that is generated when a view is included.
      35   * The view data will be extracted to make local variables. This method

   3.

      APPPATH\classes\controller\ko3.php [ 8 ] » Kohana_View::factory(arguments)
      0  

      string(12) "/pages/first"

       3 
       4 class Controller_Ko3 extends Controller
       5  {
       6     public function action_index()
       7      {
       8    $this->request->response = View::factory('/pages/first');
       9       //  $this->request->response = 'My First Kohana 3.0 Controller';
      10      }
      11  } 

   4.

      {PHP internal call} » Controller_Ko3->action_index()
   5.

      SYSPATH\classes\kohana\request.php [ 1196 ] » ReflectionMethod->invokeArgs(arguments)
      0  

      object Controller_Ko3(1) {
          public request => object Request(9) {
              public route => object Route(4) {
                  protected _uri => string(32) "(<controller>(/<action>(/<id>)))"
                  protected _regex => array(0) 
                  protected _defaults => array(2) (
                      "controller" => string(3) "ko3"
                      "action" => string(5) "index"
                  )
                  protected _route_regex => string(95) "#^(?:(?P<controller>[^/.,;?\n]++)(?:/(?P<action>[^/.,;?\n]++)(?:/(?P<id>[^/.,;?\n]++))?)?)?$#uD"
              }
              public status => integer 500
              public response => string(0) ""
              public headers => array(1) (
                  "Content-Type" => string(24) "text/html; charset=utf-8"
              )
              public directory => string(0) ""
              public controller => string(3) "ko3"
              public action => string(5) "index"
              public uri => string(0) ""
              protected _params => array(0) 
          }
      }

      1  

      array(0) 

      1191 
      1192    // Determine the action to use
      1193    $action = empty($this->action) ? Route::$default_action : $this->action;
      1194 
      1195    // Execute the main action with the parameters
      1196    $class->getMethod('action_'.$action)->invokeArgs($controller, $this->_params);
      1197 
      1198    // Execute the "after action" method
      1199    $class->getMethod('after')->invoke($controller);
      1200    }
      1201    catch (Exception $e)

   6.

      APPPATH\bootstrap.php [ 105 ] » Kohana_Request->execute()

      100  /**
      101   * Execute the main request. A source of the URI can be passed, eg: $_SERVER['PATH_INFO'].
      102   * If no source is specified, the URI will be automatically detected.
      103   */
      104  echo Request::instance()
      105    ->execute()
      106    ->send_headers()
      107    ->response;
      108 }

   7.

      DOCROOT\index.php [ 104 ] » require(arguments) 

PM MAIL   Вверх
cccr85
Дата 2.2.2011, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 13.7.2010

Репутация: 2
Всего: 2



Проблема вот в этой строчке

Код

$this->request->response = View::factory('/pages/first');


А именно в символе /

Уберите его. И все заработает. В общем мне кажется нужно так:


$this->request->response = View::factory('pages/first');

Добавлено через 2 минуты и 40 секунд
Либо потому что у Вас нет файла first.php в папке application/views/pages

Добавлено через 4 минуты и 36 секунд
Как я понял ты сидишь в скайпе, мой логин там такой же как здесь, но после 85 идет слово omsk
PM MAIL   Вверх
DenWPF
Дата 2.2.2011, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



cccr85, спасибо прав! просто нету файла
PM MAIL   Вверх
phpsc
Дата 2.2.2011, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 22.11.2010

Репутация: нет
Всего: 0



срочно ООП на php изучайте
 и берите фреймворк codeigniter могу посоветовать.

p.s:съэкономите времени много.
--------------------
Социальная сеть
PM MAIL   Вверх
DenWPF
Дата 3.2.2011, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



нет спасибо =))) я понял сколько людей столько и мнений=)
PM MAIL   Вверх
cccr85
Дата 3.2.2011, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 13.7.2010

Репутация: 2
Всего: 2



Мое скромное мнение такое.

Codeigniter я попробовал первым, понравилась простота и документация. Не понравилось поддержка php4. Сейчас вышла новая версия, про неё ничего не знаю.

Потом я попробовал kohana, понравилось php5, ооп, полная расширяемость, сам код мне понравился. Плюс нравится простота вхождения (Возможно потому что попробовал до этого CI, kohana это форк Ci).

Чтобы расширить кругозор я решил попробовать Yii, если честно, я немного запутался. Модификаторы, фильтры, я не смог представить систему которую я хотел написать в контексте этого фреймворка. Напомню это только мое мнение, и оно не значит что Yii плохой!!! Я лишь говорю что я его доконца не понял.

Поэтому я остановился на kohana, и не жалею.
PM MAIL   Вверх
phpsc
Дата 3.2.2011, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 22.11.2010

Репутация: нет
Всего: 0



ТС, слово MVC в любом случае нужно знать.
--------------------
Социальная сеть
PM MAIL   Вверх
MoLeX
Дата 3.2.2011, 13:20 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



мда. Это мне напоминает гонку вооружения. MVC - это круто. MVC - это вещь. Все остальное, особенно функциональное программирование, фигня на которую не надо обращать внимание.

Уважаемые программисты! 
Не забывайте, что: MVC ради MVC не что иное как зло. 

Это тоже самое, что при ангине вас доктор по мимо необходимых антибиотиков, будет пичкать гастрацидом.

Добавлено через 2 минуты и 18 секунд
Сначала так научитесь программировать, а потом уж смотри в сторону ООП, etc

А то потом страшно править такие коды.

Да, фреймворки спасут вас от много. Но они вас не научат мыслить и логически строить свое приложение самостоятельно, так как там это уже заложено и не отклониться от этого

Добавлено через 6 минут и 13 секунд
И нечего страшного, что вы изобретаете велосипед - это ваша практика и ваши знания.

От своих практикантов, в большинстве случаев, я всегда требую велосипеды. Да может и жестоко, зато они начинают думать и предлагать порой неплохие решения.


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.5155 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.