<MyRusakov.ru />

Создание крупного проекта на Java с нуля

Создание крупного проекта на Java с нуля

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

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

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

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Помогите
13.12.2015 15:13:23 Помогите Сообщение #1
Алмазбек

Алмазбек

Новичок

Новичок

Дата регистрации:
10.12.2013 19:43:23

Сообщений: 3

Помогите пожалуйста

Notice: Undefined index: view in Z:\home\LifeNet.kg\www\index.php on line 11
http://lifenet.kg/#
Warning: session_start() [http://lifenet.kg/function.session-start]: Cannot send session cookie - headers already sent by (output started at Z:\home\LifeNet.kg\www\index.php:11) in Z:\home\LifeNet.kg\www\lib\modules_class.php on line 22

Warning: session_start() [http://lifenet.kg/function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\LifeNet.kg\www\index.php:11) in Z:\home\LifeNet.kg\www\lib\modules_class.php on line 22

Notice: Use of undefined constant up - assumed 'up' in Z:\home\LifeNet.kg\www\lib\database_class.php on line 32

Notice: Undefined variable: text in Z:\home\LifeNet.kg\www\lib\modules_class.php on line 56

Notice: Undefined variable: text in Z:\home\LifeNet.kg\www\lib\modules_class.php on line 70


Database_class.php

<?php
require_once "config_class.php";
require_once "checkvalid_class.php";

class DataBase {
    
    private $config;
    private $mysqli;
    private $valid;
    
    public function __construct() {
        $this->config = new Config();
        $this->valid = new CheckValid();
        $this->mysqli = new mysqli($this->config->host, $this->config->user, $this->config->password, $this->config->db);
        $this->mysqli->query("SET NAMES 'utf8'";
    }
     private function query($query) {
         return $this->mysqli->query($query);
     }
    
     private function select($table_name, $fields, $where = "", $order ="", $up = true, $limit ="" {
         for ($i = 0; $i < count($fields); $i++) {
         if ((strpos($fields[$i], "(" === false) && ($fields[$i] != "*") $fields[$i] = "`".$fields[$i]. "`";
         }
        
         $fields = implode(",", $fields);
         $table_name = $this->config->db_prefix.$table_name;
         if (!$order) $order = "ORDER BY `id`";
         else {
             if ($order != "RAND()" {
                 $order = "ORDER BY `$order`";
                 if (!up) $order .= " DESC";
             }
        
             else $order = "ORDER BY $order";
         }
         if ($limit) $limit = "LIMIT $limit";
         if ($where) $query = "SELECT $fields FROM $table_name WHERE $where $order $limit";
         else $query = "SELECT $fields FROM $table_name $order $limit";
         $result_set = $this->query($query);
         if (!$result_set) return false;
         $i = 0;
         while ($row = $result_set->fetch_assoc()) {
             $data[$i] = $row;
             $i++;
         }
         $result_set->close();
         return $data;
     }

     public function insert($table_name, $new_values) {
         $table_name = $this->config->db_prefix.$table_name;
         $query = "INSERT INTO $table_name (";
         foreach ($new_values as $field => $value) $query .= "`".$field."`,";
         $query = substr($query, 0, -1);
         $query .= " VALUES (";
         foreach ($new_values as $value) $query .= "'".addslashes($value)."',";
         $query = substr($query, 0, -1);
         $query .= "";
         return $this->query($query);
     }
    
     private function update($table_name, $upd_fields, $where) {
         $table_name = $this->config->db_prefix.$table_name;
         $query = "UPDATE $table_name SET ";
         foreach ($upd_fields as $field => $value) $query .= "`$field` = '".addcslashes($value)."',";
         $query = substr($query, 0, -1);
         if ($where) {
             $query .= " WHERE $where";
             return $this->query($query);
         }
         else return false;
     }
    
     public function delete($table_name, $where = "" {
         $table_name = $this->config->db_prefix.$table_name;
         if ($where) {
             $query = "DELETE FROM $table_name WHERE $where";
             return $this->query($query);
         }
         else return false;
     }
    
     public function deleteAll($table_name) {
          $table_name = $this->config->db_prefix.$table_name;
          $query = "TRUNCATE TABLE `$table_name`";
          return $this->query($query);
     }
    
     public function getField($table_name, $field_out, $field_in, $value_in) {
         $data = $this ->select($table_name, array($field_out), "`$field_in`='".addslashes($value_in)."'";
         if (count($data) != 1) return false;
         return $data[0][$field_out];
     }
    
     public function getFieldOnID($table_name, $id, $field_out) {
         if (!$this->existsID($table_name, $id)) return false;
         return $this->getfield($table_name, $field_out, "id", $id);
     }
    
     public function getAll($table_name, $order, $up) {
         return $this->select($table_name, array("*", "", $order, $up);
     }
    
     public function getAllOnField($table_name, $field, $value, $order, $up) {
         return $this->select($table_name, array("*", "`$field`='".addslashes($value)."'", $oreder, $up);
     }
    
     public function getLastID($table_name) {
         $data = $this->select(table_name, array("MAX(`id`)");
         return $data[0]["MAX(`id`)"];
     }
    
     public function deleteOnID($table_name, $id) {
         if (!$this->existsID($table_name, $id)) return false;
         return $this->delete($table_name, "`id` = '$id'";
     }
    
    
     public function setField($table_name, $field, $value, $field_in, $value_in) {
         return $this->update($table_name, array($field => $value), "`field_in` = '".addslashes($value_in)."'";
     }
    
     public function setFieldOnID($table_name, $id, $field, $value) {
         if (!$this->existsID($table_name, $id)) return false;
         return $this->setField($table, $field, $value, "id", $id);
     }
    
     public function getElementOnID($table_name, $id) {
         if (!$this->existsID($table_name, $id)) return false;
         $arr = $this->select($table_name, array("*", "`id` = '$id'";
         return $arr[0];
     }
    
     public function getRandomElements($table_name, $count) {
         return $this->select($table_name, array("*", "", "RAND()", true, $count);
     }
    
     public function getCount($table_name) {
         $data = $this->select($table_name, array("COUNT(`id`)");
         return $data[0]["COUNT(`id`)"];
     }
    
     public function isExists($table_name, $field, $value) {
        $data = $this->select($table_name, array("id", "`$field` = '".addslashes($value)."'";
        if (count($data) === 0) return false;
        return true;
     }
    
     private function existsID($table_name, $id) {
         if (!$this->valid->validID($id)) return false;
         $data= $this->select($table_name, array("id", "`id`='".addslashes($id)."'";
         if (count($data) === 0) return false;
         return true;
     }
    
     public function __destruct() {
         if ($this->mysqli) $this->mysqli->close();
     }
}

?>


modules_class.php


<?php
    require_once "config_class.php";
    require_once "article_class.php";
    require_once "section_class.php";
    require_once "user_class.php";
    require_once "banner_class.php";
    require_once "message_class.php";
    require_once "menu_class.php";
    
abstract class Modules {
    
    protected $config;
    protected $article;
    protected $section;
    protected $user;
    protected $menu;
    protected $banner;
    protected $message;
    protected $data;
    
    public function __construct($db) {
        session_start();
        $this->config = new Config();
        $this->article = new Article($db);
        $this->section = new Section($db);
        $this->user = new User($db);
        $this->menu = new Menu($db);
        $this->banner = new Banner($db);
        $this->message = new Message();
        $this->data = $this->secureData($_GET);
    }
    
    public function getContent() {
        $sr["title"] = $this->getTitle();
        $sr["meta_desc"] = $this->getDescription();
        $sr["meta_key"] = $this->getKeyWords();
        $sr["menu"] = $this->getMenu();
        $sr["auth_user"] = $this->getAuthUser();
        $sr["banners"] = $this->getBanners();
        $sr["top"] = $this->getTop();
        $sr["middle"] = $this->getMiddle();
        $sr["bottom"] = $this->getBottom();
        return $this->getReplaceTemplate($sr, "main";
    }
    
    abstract protected function getTitle();
    abstract protected function getDescription();
    abstract protected function getKeyWords();
    abstract protected function getMiddle();
    
    protected function getMenu() {
        $menu = $this->menu->getAll();
        for ($i = 0; $i < count($menu); $i++) {
            $sr["title"] = $menu[$i]["title"];
            $sr["link"] = $menu[$i]["link"];
            $text .= $this->getReplaceTemplate($sr, "menu_item";
        }
        return $text;
    }
    
    protected function getAuthUser() {
        $sr["message_auth"] = "";
        return $this->getReplaceTemplate($sr, "form_auth";
    }
    
    protected function getBanners() {
        $banners = $this->banner->getAll();
        for ($i = 0; $i < count($banners); $i++) {
           $sr["code"] = $banners[$i]["code"];
           $text .= $this->getReplaceTemplate($sr, "banner";
        }
        return $text;
    }
    
    protected function getTop() {
        return "";
    }
    
    protected function getBottom() {
        return "";
    }
    
    private function secureData($data) {
        foreach($data as $key => $value) {
            if (is_array($value)) $this->secureData($value);
            else $data[$key] = htmlspecialchars($value);
        }
        return $data;
    }
    
    protected function getBlogArticles($articles, $page) {
        $start = ($page - 1) * $this->config->count_blog;
        $end = (count($articles) > $start + $this->config->count_blog)? $start + $this->config->count_blog: count($articles);
        for ($i = $start; $i < $end; $i++) {
            $sr["title"] = $articles[$i]["title"];
            $sr["intro_text"] = $articles[$i]["intro_text"];
            $sr["date"] = $this->formatDate($articles[$i]["date"]);
            $sr["link_article"] = $this->config->address."?view=article&;id=".$articles[$i]["id"];
            $text .= $this->getReplaceTemplate($sr, "article_intro";
        }
        return $text;
    }
    
    protected function formatDate($time) {
        return date("Y-m-d H:i:s", $time);
    }
    
    protected function getTemplate($name) {
        $text = file_get_contents($this->config->dir_tmpl.$name.".tpl";
        return str_replace("%address%", $this->config->address, $text);
    }
    
    protected function getReplaceTemplate($sr, $template) {
        return $this->getReplaceContent($sr, $this->getTemplate($template));
        
    }
    
    private function getReplaceContent($sr, $content) {
        $search = array();
        $replace = array();
        $i = 0;
        foreach ($sr as $key => $value) {
            $search[$i] = "%$key";
            $replace[$i] = $value;
            $i++;
        }
        return str_replace($search, $replace, $content);
    }
}
?>


global_class.php



<?php
require_once "config_class.php";
require_once "checkvalid_class.php";
require_once "database_class.php";

abstract class GlobalClass {
    
    private $db;
    private $table_name;
    protected $config;
    protected $valid;
    
    protected function __construct ($table_name, $db) {
        $this->db = $db;
        $this->table_name = $table_name;
        $this->config = new Config();
        $this->valid = new CheckValid();
        }
    
    protected function add($new_values) {
        return $this->db->insert($this->table_name, $new_values);
    }
    
    protected function edit($id, $upd_fields) {
        return $this->db->updateOnID($this->table_name, $id, $upd_fields);
    }
    
    public function delete($id) {
        return $this->db->deleteOnID($this->table_name, $id);
    }
    
    Public function deleteAll() {
        return $this->db->deleteAll($this->table_name);
    }
    
    protected function getField($field_out, $field_in, $value_in) {
        return $this->db->getField($this->table_name, $field_out, $field_in, $value_in);
    }
    
    protected function getFieldOnID($id, $field) {
        return $this->db->getFieldOnID($this->table_name, $id, $field);
    }
    
    protected function setFieldOnID($id, $field, $value) {
        return $this->db->setFieldOnID($this->table_name, $id, $field, $value);
    }
    
    public function get($id) {
        return $this->db->getElementlOnID($this->table_name, $id);
    }
    
    public function getAll($order = "", $up = true) {
        return $this->db->getAll($this->table_name, $order, $up);
    }
    
    protected function getAllOnField($field, $value, $order = "", $up = true) {
        return $this->db->getAllOnField($this->table_name, $field, $value, $order, $up);
    }
    
    public function getRandomElement($count) {
        return $this->db->getRandomElements($this->table_name, $count);
    }
    
    public function getLastID() {
        return $this->db->getLastId($this->table_name);
    }
    
    Public function getCount() {
        return $this->db->getCount($this->table_name);
    }
    
    protected function isExists($field, $value) {
        return $this->db->isExists($this->table_name, $field, $value);
    }
}
?>

index.php



<?php
    
    ini_set('display_errors',1);
error_reporting(E_ALL);
    mb_internal_encoding("UTF-8";
    require_once "lib/database_class.php";
    require_once "lib/frontpagecontent_class.php";
    
    
    $db = new Database();
    $view = $_GET["view"];
    switch ($view) {
        case "":
              $content = new FrontPageContent($db);
            break;
        default: exit;
    }
    
    echo $content->getContent();
?>
Профиль Ответить
13.12.2015 17:30:57 Помогите Сообщение #2
Razmik

Razmik

Освоившийся

Освоившийся

Дата регистрации:
30.09.2013 19:12:52

Сообщений: 23

Сессию нужно начинать в начале, после <?php , а вот записывать можно и позже
Профиль Ответить
17.12.2015 15:57:57 Помогите Сообщение #3
Алмазбек

Алмазбек

Новичок

Новичок

Дата регистрации:
10.12.2013 19:43:23

Сообщений: 3

А на каком файле
Профиль Ответить
19.12.2015 11:16:14 Помогите Сообщение #4
Razmik

Razmik

Освоившийся

Освоившийся

Дата регистрации:
30.09.2013 19:12:52

Сообщений: 23

В любом, где используешь сессии
Профиль Ответить