X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

История благодарностей участнику v1ex. Поблагодарили: 0 раз(а)
Дата поста: В теме: За сообщение: Поблагодарили:
20.7.2009, 19:17 Как сделать навигацию по сайту
Ну все зависит от дизайна архитектуры.

Самое просто можно, что то вроде такого:
[php]<?php
class Navigator
{
private $links = array();
public addLink($title, $href) {
$links[] = array('title' => $title, 'href' => $href);
}
public getNavigation($separator = " >> ") {
$nav = "";
for (int i = 0; i < count($links); i++) {
$nav .= '<a href="'. $links[i]['href'] .'">'. $links[i]['href'] .'</a>';
if (i != count($links) - 1)
{
$nav .= $separator;
}
}
}
}
?>[/php]
Далее так:
index.php:
[php]<?php
....
$nav = new Navigator();
$nav.addLink('Главная', 'index.php');
....
?>[/php]
модуль.php
[php]<?php
if ($_GET['action'] == 'add') {
$nav.addLink('Добавить что-то', 'add.php');
}
else if ($_GET['action'] == 'edit') {
$nav.addLink('Редактировать что-то', 'edit.php');
}
?>[/php]

Код писал тут и не проверял


Спасибо сказали: (0)
16.7.2009, 12:32 Диапазон данных
Если на PHP пишешь, то проверить наличие переменных, и если они существуют добавить в конец запроса "Where Pages Between 200 And 600". Т.е.
$sql = "Select Name, Pages From Books";
if (!empty($from) && !empty($to))
{
  $sql .= " Where Pages Between 200 And 600";
}


FordogeN, в твоем случае нельзя будет вывести все записи :)


Спасибо сказали: (0)
16.7.2009, 5:41 Учебник по div
где найти


Спасибо сказали: (1)
10.7.2009, 13:33 Обработка входящих данных
Конечно-же регулярки безопасней. В случае:
[php]$id = (int)$_GET['id'];[/php]
Что если в $_GET['id'] будет значение "ха-ха"? :)

[php]$page = str_replace("update","",$page);[/php]
А это, что вы делаете, я не понял?


И еще у вас не правильные регулярки:
/^[0-9]+$/
/^[a-z0-9]+$/i

^ - значит начало слова;
$ - конец;
i - игнорировать регистр

А в вашем случае, если просто, что-нибудь, где-нибудь встречается удолетворяющее выражению, будет возвращено true.


Спасибо сказали: (0)
9.7.2009, 19:23 Биржа труда
Время пока есть, пиши в аську, обсудим.


Спасибо сказали: (1)
9.7.2009, 15:22 Биржа труда
а за деньги кота в мешке нехотелось бы брать.

А заказать в наше время не судьба? :)


Спасибо сказали: (1)
8.7.2009, 20:18 Javascript и выпадающий список
java script:
        <script type="text/javascript">
            function getCookie(c_name) {
                if (document.cookie.length > 0) {
                    c_start = document.cookie.indexOf(c_name + "=");
                    if (c_start != -1) {
                        c_start = c_start + c_name.length + 1;
                        c_end = document.cookie.indexOf(";", c_start);
                        if (c_end == -1) c_end = document.cookie.length;
                        return unescape(document.cookie.substring(c_start, c_end));
                    }
                }
                return "";
            }
            function setCookie(c_name, value, expiredays) {
                var exdate = new Date();
                exdate.setDate(exdate.getDate() + expiredays);
                document.cookie = c_name + "=" + escape(value) + ((expiredays == null) ? "": ";expires=" + exdate.toGMTString());
            }
            
            window.onload = function() {
                var mySelect = document.getElementById('mySelect');
                var mySelectedIndex = getCookie('mySelectedIndex');
                if (mySelectedIndex != null && mySelectedIndex != "") {
                    mySelect.selectedIndex = mySelectedIndex;
                }
                mySelect.onchange = function() {
                    setCookie('mySelectedIndex', mySelect.selectedIndex, 1);
                }
            }
        </script>

SELECT:
        <select id="mySelect">
            <option value="0">Privet 0</option>
            <option value="1">Privet 1</option>
            <option value="2">Privet 2</option>
            <option value="3">Privet 3</option>
            <option value="4">Privet 4</option>
            <option value="5">Privet 5</option>
        </select>


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


Спасибо сказали: (1)
8.7.2009, 19:50 Собственный шаблонизатор
А не разместить <table><tr><td width=200>ШАБЛОН_МЕНЮ</td> в menu.tpl, а <td width=200>ШАБЛОН_КОНТЕНТА</td> в content.tpl? Или у вас в зависимости от логики может исчезать левая колонка?


Спасибо сказали: (0)
7.7.2009, 13:34 Собственный шаблонизатор
Логика скрипта:
[php]$res = mysql_query("выборка_пунктов_меню", $msConnect);
$puncts = array();
while ($row = mysql_fetch_array($res))
{
$puncts[] = $row;
}
$template['puncts'] = $puncts;
// Дальше выводим шаблон[/php]
В шаблоне:
[php]<?php foreach ($template['puncts'] as $punkt) : ?>
<li><a href="<?php print $punkt['href']; ?>"><?php print $punkt['name']; ?></a></li>
<?php endforeach; ?>[/php]
Думаю суть ясна.


Спасибо сказали: (0)
3.7.2009, 18:03 Вопросы по SQL
но не более 255.

Так было в MySQL 3.* и старше, щас там можно хранить гораздо больше, насколько я знаю.

пс. ещё хотел спросить, как переименовать таблицу? Например с news на NEWS (для удобства). Вроде update() используется, но я не знаю как применить к имени таблицы

ALTER TABLE news RENAME NEWS;

Вроде так.

Для редактирования самой таблицы, а не записей в ней, используется ALTER TABLE, а не UPDATE TABLE.


Спасибо сказали: (0)
3.7.2009, 9:58 Вопросы по SQL
(Banderas @ 3.7.2009, 11:02) *
Начал изучать SQL и появился вопросик. Правильно ли я делаю запрос?
insert into TOBAR  values
(1, 'Tovar name', 'tovar price', 'count'),
(2, 'Tovar name2', 'tovar price2', 'count2'),
(3, 'Tovar name3', 'tovar price3', 'count3);

Мне кажется ошибка в том, что первое поле (ID), у тебя установлено как PRIMARY KEY (первичный ключ), и в таблице уже есть записи с ID=1, 2, 3. Поэтому и ругается (ID должен быть уникальным). А так все правильно :)


Спасибо сказали: (0)
26.6.2009, 15:35 Как проверить email-адрес на правильность?
Регулярные выражения


Спасибо сказали: (0)
26.6.2009, 9:15 Вопросы по МАССИВАМ
Если я правильно понял, то вот функция:
<?php
    
    function myExplode($str, $separators = ',:%') {
        $mas = array();
        $tok = strtok($str, $separators);
        while ($tok) {
            $mas[] = $tok;
            $tok = strtok($separators);
        }
        return $mas;
    }
    
    print_r(myExplode('Bodya, Katya, Ira% Lena: Roma'));
?>

В результате:
Array ( [0] => Bodya [1] => Katya [2] => Ira [3] => Lena [4] => Roma )


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


Спасибо сказали: (1)
20.6.2009, 21:59 Лайтбокс
sol, хм не знаю почему это назвали модальными окнами.

Потому что, модальные окна - это окна которые блокируют основное приложение (в данном случае веб-страницу), пока модальное окно не завршит свою работу :)


Спасибо сказали: (1)
15.6.2009, 11:27 Учусь новому методу записи
пару вопросов
$pass = (isset($_GET['pass'])) ? $_GET['pass'] : '';

Это тернарный условный оператор, если его распить то получится примерно так:
if (isset($_GET['pass']) {
  $pass = $_GET['pass'];
}
else {
  $pass = '';
}

нафиг палочки || ?

Дизъюнкция. Раз это не знаешь, может пока не стоит в программирование лезть...? Или начать с какого нибудь Pascal'а...?
это типа если логин Кристиан и пароль севрет, то все гуд?

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


Спасибо сказали: (0)
14.6.2009, 19:06 Про растягивающиеся верстку
даже не знаю, как правильно задать вопрос...
HTML:
<table class="main">
  <tr><td class="header" colspan="3">шапка</td></tr>
  <tr><td class="left">Левый блок</td><td class="center">Тело</td><td class="right">Правый блок</td></tr>
</table>

CSS:
.main {
  width: 100%;
}
.main td {
  vertical-align: top;
}
.left {
  width: 200px;
}
.right {
  width: 200px;
}

Все, все ваши колонки тянуться по вертикали.


Спасибо сказали: (1)
14.6.2009, 16:21 Как учиться PHP?
видеоматериалы, эл. книги, книги ?
Никаких видео не надо, это шлак который ничему не научит.
"Книга PHP 5/6 и My SQL 6. Разработка Web-приложений. Колисниченко" - тоже шлак голимый, в котором ничего нормально нет, куча ошибок и подобного.
Если совсем не знаком с программированием на PHP (просто сначала нужно понять все принципы и т.п.), то посоветовать ничего не могу. Но если есть небольшой опыт, обязательно нужно прочитать одну из этих - http://www.ozon.ru/context/detail/id/2527057/, http://www.ozon.ru/context/detail/id/2527057/ (их читать в любом случае желательно).

А вообще все книги, которые вы выбрали - шлак полный, они все у меня были (когда начинал изучать PHP), и все эти книги я бы с удовольствием сжег :) Читайте зарубежных авторов, их зря переводить не будут. А наших брать не надо, 90% из них подобны Колисниченко (а это еще тот дурак!) :)


Спасибо сказали: (0)
12.6.2009, 11:51 Каталог фирм
Дизайн с моего "недизайнерского" взгляда вроде ничего.
Сильно напрягает в боковых колонках то, что нет переноса строк в списках (если это так можно назвать), это вам не облако тегов ;)
Верстка - боже упаси такое еще хоть раз увидеть, если через валидатор прогнать, с сотню ошибок наверно будет ;) Особенно вот эта "конструкция" меня свалила:
        <td width="220" bgcolor="#EEEEEE">

        <p style="margin-left: 10px"><font face="Trebuchet MS" size="6">
        <font color="#CC0000"><a href="http://firms.nerfo.ru/">
        <span style="text-decoration: none"><font color="#CC0000">К</font></span></a></font><a href="http://firms.nerfo.ru/"><font color="#666666"><span style="text-decoration: none">аталог<br>
        </span>
        </font></a></font><a href="http://firms.nerfo.ru/">
        <font face="Trebuchet MS" size="2" color="#000000">
        <span style="text-decoration: none">фирм, организаций,</span><strong style="font-weight: 400"><span style="text-decoration: none">
        предприятий</span></strong></font></a></td>

Этот код можно заменить одной строкой в 20 символов ;)


Спасибо сказали: (1)
11.6.2009, 11:43 Сайт выпал из яши
рекламы нет на нем никакой

ток меня что-то перекинуло на порно сайт _http://sn27.net/


Спасибо сказали: (1)
3.6.2009, 19:25 При клике на кнопку открывается реклама
ZiTosS, не знал... Просто гадостей таких ни разу не делал :)


Спасибо сказали: (1)
3.6.2009, 6:57 Собственный шаблонизатор
Я давно себе писал, может пригодится:
[php]<?php
// Шаблонизатор
class Templater {
private $template_dir;

// В конструктор передаем директорию, в которой находятся шаблоны
public function __construct($template_dir) {
$this->template_dir = $template_dir;
}

public function setDir($dir) {
$this->dir = $dir;
}
public function getDir($dir) {
return $this->dir;
}

// Добавляем переменную шаблона (значение, имя переменной)
public function addVariable($variable, $name) {
$this->$name = $variable;
}

// Выводим шаблон
public function displayTemplate($template_file) {
require_once $this->template_dir.$template_file;
}
}
?>[/php]
Класс использовать примерно так:
[php]<?php
$templater = new Templater('templates/');
$templater->addVariable('Главная страница', 'title');
$templater->addVariable('Содержимое главной', 'content');
$templater->displayTemplate('template.tpl');
?>[/php]
Ну и сам шаблон (template.tpl):
[php]<html>
<head>
<title>
<?php print $this->title; ?>
</title>
</head>
<body>
<?php print $this->content; ?>
</body>
</html>[/php]


Спасибо сказали: (1)
2.6.2009, 10:20 Информация для начинающих по js


Спасибо сказали: (0)
2.6.2009, 10:17 Подключение дополнительных модулей
Решение я нашел)) но очень не хорошее.

Почему, же? Можно начать с такого...

Ну самое просто, что я могу предложить, это примерно так:
index.php:
[php]<?php
// Подключение файлов
require_once 'functions.php';

// Модуль по умолчанию
$module = 'index';

if (isset($_GET['module'])) {
$module_tmp = trim($_GET['module']);
if (preg_match("/^[a-z0-9_]+$/i", $module_tmp)) {
$module = $module_tmp;
}
else {
die('Ошибка');
}
}

if (file_exists('modules/' .$module. '/module.php'))
{
require_once 'modules/' .$module. '/module.php';
}
else
{
die('Ошибка');
}
?>[/php]
modules/guest/module.php (модуль гостевой):
[php]<?php
// Допустим это модуль гостевой книги

// Заголовок
$template['title'] = 'Гостевая книга';
// Якобы динамическая генерация контента
$template['messages'] = 'Сообщения гостевой книги';
$template['xz'] = 'Еще, какой нить контент...';

// Отобразить шаблон (в template переменные шаблона)
display_template('header.tpl', $template);
display_template('guest.tpl', $template);
display_template('footer.tpl', $template);
?>[/php]
functions.php (функция для наипростейшего шаблонизатора):
<?php
  function display_template($file, $template)
  {
    require_once $file;
  }
?>

header.tpl, guest.tpl, footer.tpl:
[php]<html>
<head>
<title><?php print $template['title']; ?></title>
</head>
<body>

--------------------------

<h1>Сообщения</h1>
<?php print $template['messages']; ?>
<h2>Еще что-то</h2>
<?php print $template['xz']; ?>

-----------------------


<div>Copyright 2009</div>
</body>
</html>[/php]


Спасибо сказали: (1)
29.5.2009, 21:10 Насколько удобен Code Igniter?
Шлак :) Когда пишешь свой движок, можно реализовать все, что угодно и при этом как тебе удобно... Используя фреймворк ты накидываешь на свою голову всяческие ограничения, правила и т.п. + огромный размер скрипта, куча нафиг не нужных классов/функций/файлов и т.п. Лучше не использовать никаких фреймворков. Хотя если писать проект, который по дизайну будет схожь с дизайном фреймворка, можно съэкономить немного времени. Вообще советую написать свой небольшой каркас движка, который можно будет внедрить в проект любого направления! Я давно такой написал и использую его почти во всех своих проектах.

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


Спасибо сказали: (0)
25.5.2009, 1:16 Массивы в JS
Я делаю вот так:
<script type="text/javascript">
  var mas = new Array();
  mas[0] = "1";
  mas[2] = "3";
  if (mas[1])
  {
    alert("Существует");
  }
  else
  {
    alert("Не существует");
  }
</script>


Спасибо сказали: (1)

2 страниц V   1 2 >
RSS Текстовая версия Сейчас: 25.4.2024, 3:59
Дизайн