[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Зацените ГавНоКод :)))
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25
Shkiper

$var = $obj->testFunction();
if(isset($_SESSION['sess']))
{

echo "))))";

}

В данном коде в переменную загнал функцию, в которой написано, если что-то там есть то создаем сессию, а если нет то нет. Так вот допустим по условию сессия должна создастя, но создастся ли она, ведь мы загоняем функцию в переменную а не выводим ее???
killer8080
Цитата (Shkiper @ 22.08.2012 - 20:44)
В данном коде в переменную загнал функцию

Ничего подобного, ты вызвал метод testFunction, и то что он вернул присвоил переменной $var.
Shkiper
пнт, спс
Shkiper
а что вы можете сказать про логику дле???? можно ли с нее брать пример?
Shkiper
а что вы можете сказать про логику дле???? можно ли с нее брать пример?
sharki
Shkiper
нет, бери лучше фреймворк какой нибудь, например для начала сойдет codeigniter, только не зацикливайся на нем, есть еще круче фреймворки. Кстати глянь видеокурсы вроде должны быть по codeigniter или kohana
Shkiper
sharki а почему? ведь он так популярен и говорят что он очень хорошо нписан
sharki
Shkiper
Это аналогично следующему: "я купил приору, она чертовски хороша, и бла бла бла, а есть такие машины как лексус например, бмв..."
Shkiper
sharki пнт
inpost
Shkiper
Я бы тебе посоветовал пройти учебник Котерова, почитать всё, что там есть, абсолютно всё. А потом взять какой-нибудь проект и сделать его.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Shkiper
Цитата
Shkiper
Я бы тебе посоветовал пройти учебник Котерова, почитать всё, что там есть, абсолютно всё. А потом взять какой-нибудь проект и сделать его.

А какую именно их много.
Anon спасибо ))
Shkiper
Сделал я тут кое -что. посмотрите.
index.php
<?php

//Устанавливаем уровень ошибок и стратуем сессии

error_reporting(E_ALL &~E_NOTICE);
session_start();
ob_implicit_flush(0);

//Создаем константы с путями
define("BASE_DIR", $_SERVER['DOCUMENT_ROOT'] . "/"); //Индексный путь
define("TPL_DIR", BASE_DIR . "template/"); //Путь к папке с шаблоном
define("SYS_DIR", BASE_DIR . "system/"); //Путь к системной папке
define("SYS_KEY", true); //Создаем ключ для того чтоб к чичтемным файлам не обратились на прямую
$mod = $_GET['mod'];

//Подключаем файлы настроек.
require SYS_DIR . 'data/db.php';
require SYS_DIR . 'data/config.php';

//файл соеденения с БД
require SYS_DIR . 'classes/mysql.class.php';
//Экземпляр соеденения с БД
$mysql = new mysql;

//Подключаем файл роутера
require SYS_DIR . 'router.php';

//Подключаем файлы с классами
require SYS_DIR . 'classes/template.class.php';
require SYS_DIR . 'classes/bbcodes.class.php';


$router = new router; //Создаем экземпляр роутера
$template = new template; //Создаем экземпляр класса template
$bbcode = new BBcode; //Создаем экземпляр класса BBcode


$tpl['main'] = ''; //Перемменная с главным шаблоном сайта

if(isset($_COOKIE['user_hash']))
{
$hash = htmlspecialchars($_COOKIE['user_hash']);
$select_user = $mysql->query("SELECT `id` FROM `users` WHERE `hash`='". $hash ."' and `activation`='1'");
if(mysql_num_rows($select_user) > 0)
{
$group = $router->user_group($_COOKIE['user_hash']);
if($config['work_site'] == "off")
{
if($group['view_offsite'] == 0)
{
$tpl['main'] = $config['work_offsite_text'];
}
}

$user = true;
}
else
{
if($config['work_site'] == "off")
{
$tpl['main'] = $config['work_offsite_text'];
}
$user = false;
}
}



if(isset($mod))
{

switch($mod)
{
case "news":
require SYS_DIR . 'classes/news.class.php';
$news = new news;
$main = $news->view($user);//Модуль показа новостей
break;

case "category":
$main = $router->category($user,$mysql); //Модуль показа категории
break;

default:
$main = $router->GetPage($_GET['mod'],$user,$mysql); //Если указан иной модуль то ищем в папке с модулями файл, с таким именем как у модуля
break;

}

}

else
{
$main = $router->index($user);
}

define("TPL_SCRIPTS", $router->get_scripts($mod));
define("TPL_DESCRIPTION", $main['description']);
define("TPL_KEYWORDS", $main['keywords']);
define("TPL_CONTENT", $main['content']);
define("TPL_TITLE", $main['title']);
define("TPL_ARHIV", $template->load_usermodul("arhiv"));
define("TPL_POPNEWS", $template->load_usermodul("pop_news"));
define("TPL_LOGIN", $template->load_usermodul("login"));
define("TPL_SEARCH", $template->load_usermodul("search"));
define("TPL_POLL", $template->load_usermodul("poll"));

//Создаем массив с кодом для замены блоков в шаблоне
$tpl_replace = array
(
'{content}' => TPL_CONTENT,
'{poll}' => TPL_POLL,
'{popnews}' => TPL_POPNEWS,
'{search}' => TPL_SEARCH,
'{login}' => TPL_LOGIN,
'{arhives}' => TPL_ARHIV,
'{title}' => TPL_TITLE,
'{engine_scripts}' => TPL_SCRIPTS,
'{description}' => TPL_DESCRIPTION,
'{keywords}' => TPL_KEYWORDS
);
if(empty($tpl['main']))
{
$tpl['main'] = $template->load_template("main.tpl", $tpl_replace);
}

//проверяем, были ли ошибки в результате выполнения скрипта?
if(isset($_SESSION['engine_error'][0]))
{
exit($_SESSION['engine_error'][0]);
}
else
{
echo $tpl['main'];
}


router.php

<?php
if(!defined('SYS_KEY')) exit('No success');
class router {
public function GetPage($mod, $user=false, $mysql)
{

global $config;
$mod = !isset($mod) ? $_GET['mod']:$mod;


if(!preg_match("/^[a-z]/", $mod))
{

$result = array
(
'title'=>'Модуль не найден -> ' . $config['title'],
'content'=>'<p>Формат имени модуля не соответсвует заданным параметрам. Он должен состоять только из букв латинского алфавита и не каких пробелов.</p>'
);

}
else
{

$user = $this->information($_COOKIE['user_hash']);

if(!isset($user))
{

$user_info = array(
'hash' => false,
);


}
else
{

$user_info = array(
'hash' => $_COOKIE['user_hash'],
);


}

$dir = SYS_DIR . 'modules/' . $mod . '.php';
if(!file_exists($dir))
{
$result = array('title'=>'Модуль не найден -> ' . $config['title'], 'content'=>'На сайте нет такого модуля');
}
else
{

require $dir;
$complate = modul($user_info);
return array(
'content'=>$complate['content'],
'title'=>$complate['title'],
'description'=>$config['description'],
'keywords'=>$config['keyword']
);


}

}
}

public function get_scripts($mod="page_all")
{
require SYS_DIR . 'library/scripts.php';
$scripts = '';
if($mod="page_all")
{
foreach($scripts_array as $k=>$v)
{
if($k == $mod)
{
$scripts .= $v;
}
}
}

else
{

foreach($scripts_array as $k=>$v)
{
if($k == $mod or $k == "page_all")
{
$scripts .= $v;
}
}

}

return $scripts;

}
public function index ($user=false) {

global $config, $bbcode, $router, $template, $mysql;


$num = $config['number_news'];
$page = $_GET['page'];

if(empty($num) or !isset($num) or $num < 1)
$num = 10;

if ($page == 0 or empty($page) or !isset($page) or $page < 0) $page = 1;

$query = "SELECT COUNT(`id`) FROM `news` WHERE `public`='1'";
$mysql_result = $mysql->query($query);

if(mysql_num_rows($mysql_result) > 0)
{
$count = mysql_fetch_row($mysql_result);
}

$posts = $count[0];
$total = intval(($posts - 1) / $num) + 1;
$page = intval($page);
$start = $page * $num - $num;

if ($page != 1) $pervpage = '<a href="' . $name . '/">Первая</a>
<a href="'
. $name . '/'. ($page - 1).'/">Предыдущая</a> ';
if ($page != $total) $nextpage = '<a href="' . $name . '/'. ($page + 1).'/">Следующая</a>
<a href="'
. $name . '/'.$total.'/">Последняя</a> ';
if($page - 2 > 0) $page2left = ' <a href="' . $name . '/'. ($page - 2) .'/">'. ($page - 2) .'</a> ';
if($page - 1 > 0) $page1left = '<a href="' . $name . '/'. ($page - 1) .'/">'. ($page - 1) .'</a> ';
if($page + 2 <= $total) $page2right = ' <a href="' . $name . '/'. ($page + 2).'/">'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' <a href="' . $name . '/'. ($page + 1).'/">'. ($page + 1) .'</a>';

$query = $mysql->query("SELECT * FROM `news` WHERE `public`='1' ORDER BY `id` DESC LIMIT $start, $num");
if(mysql_num_rows($query) > 0)
{


if(isset($_POST['login_click']))
{
$complate = $this->GetPage("auth");
}
else
{
ob_start();
while($news = mysql_fetch_assoc($query))
{
$select_cat = $mysql->query("SELECT `title`,`alt_name` FROM `categories` WHERE `id`='".$news['cat']."'") or die(mysql_error());
$cat = mysql_fetch_assoc($select_cat);

$url = '/news/' . $news['alt_name'] . ".html";
$news['description'] = $bbcode -> createBBtags($news['description']);
$cat_url = '<a href="/category/' . $cat['alt_name'] . '">' . $cat['title'] . "</a>";
$tpl_replace = array('{date}'=>$news['date'], '{title}'=>$news['title'], '{url_full}'=>$url, '{description}'=> $news['description'], '{author}'=>$news['author'], '{category}'=>$cat_url);
echo $template->load_template("news.tpl", $tpl_replace);

}
echo $view_navigation = $router->view_navigation($total, $pervpage, $page2left, $page1left, $page, $page1right, $page2right, $nextpage);

$complate['content'] = ob_get_contents();
ob_end_clean();
}

}

else
{
$complate = "<p>В Базе Данных сайта нет новостей либо вы указали не существующую страницу</p>";
}

if($page > 1)
{
$title = "Страница " . $page . ' -> ' . $config['title'];
}
else{
$title = $config['title'];
}

$content = $complate['content'];
$title = $title ? $title:$complate['title'];

$array = array(

'content'=>$content,
'title'=>$title,
'description'=>$config['description'],
'keywords'=>$config['keyword']

);


return $array;
}
public function user_group ($hash) {

if(!isset($hash))
{
$not_information = "2";
}
else
{

$select_id_group = mysql_query("SELECT `group` FROM `users` WHERE `hash`='".$hash."'") or die(mysql_error());

if(mysql_num_rows($select_id_group) > 0)
{
$user = mysql_fetch_assoc($select_id_group);
$id_group = (int)$user['group'];
}
else
{
$id_group = "2";
}
}


$id_group = isset($not_information) ? $not_information:$id_group;
$query = mysql_query("SELECT * FROM `users_group` WHERE `id`='".$id_group."'") or die(mysql_error());

return mysql_fetch_assoc($query);


}
}


Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.