[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Написание CMS урок первый.
seva0812
user posted image
Привет всем, меня зовут Всеволод Щербина и сегодня мы начнем наш первый урок в написание CMS с каждым урок мы будет ее усовершенствовать и поэтому я буду писать так чтобы было понятно не только мне но Вам!
Я думаю вы не зря читаете эту тему так как знаете о чем пойдет речь. Ну что же пожалуй начнем.
Для подключения к БД напишем отдельный файл config.php.
<?php
$dblocation = "localhost"; //хост бд
$dbuser = "root"; //пользователь бд
$dbpasswd = ""; //пароль пользователя
$dbname="all-space"; //название бд

//Подключение к базе данных

$dbcnx = mysql_connect($dblocation,$dbuser,$dbpasswd)
or die("Ошибка бд: ".mysql_error());

//выбираем бд
mysql_select_db($dbname, $dbcnx)
or die("Ошибка бд: ".mysql_error());

//Кодировочка
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
?>

Чуть не забыл, рабочее название нашей CMS – «All-Space Engine» и название БД соответствующее. Ну и раз уж мы заговорили о БД, возможно, стоит пояснить, почему мы пишем первую CMS с использованием СУБД MySQL.

Во-первых, Content Management System подразумевает систему управления контентом более-менее сложной структуры. В противном случае можно обойтись набором html-страничек, и PHP вовсе не нужен. Условно можно разделить движки для сайтов на те, которые для хранения контента используют базу данных, и на те, которые хранят всю информацию в файлах (хотя, возможно и сочетание этих вариантов). Конечно, БД в конечном итоге тоже набор файлов, но система работы с базами данных полностью автоматизирована и уже заточена на максимально быструю работу.

Часть I. Запись в базу данных.

С подключением к MySQL разобрались, теперь давайте попробуем сделать в нее пару записей, чтобы потом было что выводить на страницу. Панель добавления записей:

Admin.php
<html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=win-1251" />
<
title>All-Space Engine: Администрирование</title>
</
head>
<?
include ('config.php');
if (isset($_REQUEST['sub'])) //Если нажата кнопка (name="sub")
{
//Создаем таблицу, если ее еще не существует
mysql_query ('CREATE TABLE IF NOT EXISTS te_article(
id INT AUTO_INCREMENT PRIMARY KEY,
stamp TIMESTAMP,
title varchar (100),
content TEXT
)'
) or die(mysql_error());
//Делаем запись в таблицу
$sql = mysql_query("INSERT into te_article (title, content)
values ('"
.$_REQUEST['my_title']."', '".$_REQUEST['my_text']."');");
}
?>
<body>
<
form action="admin.php" method="post">
<
p>Заголовок:<br><input name="my_title" type="text" size="50" /></p>
<
p>Текст:<br><textarea name="my_text" cols="80" rows="15" ></textarea></p>
<
input name="sub" type="submit" value="Отправить" />
</
form>
</
body>
</
html>

О защите пока и речи не может идти так как наш движок весит всего то 3 килобайта ахха

Часть II. Шаблон вывода.

Сделав пару записей в БД, можно приступать к выводу этих записей в шаблоне. В нашей CMS уже реализована система, предусматривающая подключение разных типов страниц, в зависимости от выбранной ссылки в горизонтальном меню. В файле index.php, запускающемся, как мы знаем, по умолчанию, вы можете видеть следующее:

iinclude 'config.php';
$page = !empty($_REQUEST['page'])?trim($_REQUEST['page']):$page = "main";
if ($page) {
if ((!strpos($page,".")) and (!strpos($page,"/"))) {
$path = 'inc/'.$page.'/view.php';
if (file_exists($path)) {
include($path);
} else {
echo '
<h1>Ошибка!</h1>
<h1>Такой страницы не существует. </h1>'
;
}
}
else {
echo '
<h1>Ошибка!</h1>
<h1>Доступ запрещен. </h1>'
;
}
}


Другими словами, по умолчанию открывается страница, расположенная в папке «main», в ином случае – переданная движку в адресной строке, по средствам нажатия ссылки в меню.

Наша цель − создать страницу «article», которая для начала должна уметь:

Выбирать из БД список имеющихся статей
Выводить саму статью при нажатии на ссылку с заголовком

По спецификации текущей версии CMS нам нужно создать файл view.php по адресу /inc/article/view.php

View.php
<?php
if ((@$_REQUEST['page'] == "article") && (!isset($_REQUEST['id'])))
{
//Выбираем из бд все записи, начиная с последней
$result = mysql_query('
SELECT *, UNIX_TIMESTAMP(stamp) AS stamp
FROM te_article
ORDER BY stamp DESC
'
) or die(mysql_error());
for ($db=array(); $row=mysql_fetch_assoc($result); $db[]=$row);
foreach ($db as $rec)
{
echo '<a href="?page=article&id='.$rec['id'].'">'.$rec['title'].'</a><br>';
}
}

elseif ((isset($_REQUEST['id'])) && (@$_REQUEST['page'] == "article"))
{

$sql = mysql_query("SELECT * FROM te_article WHERE id='".@$_REQUEST['id']."'");
$record = mysql_fetch_assoc($sql);

if (isset($record['id']))
{
echo '<br><strong>'.$record['title'].'</strong>';
echo '<hr>';
echo '<p>'.$record['content'].'</p>';
}
else echo "Ошибочка вышла. Статьи с таким id не обнаружено";
}
?>


Условия смотрятся страшновато, но, по крайней мере, работают как нам нужно. Функция UNIX_TIMESTAMP() преобразует значения поля stamp в привычное нам количество секунд, пошедших с начала эпохи Unix. Сортируя выборку по этому значению, получаем список записей, начиная с самых свежих.

В цикле foreach прокручиваем наш список статей, выводя ссылки вида

<a href=”index.php?page=article&id=уникальный_идентификатор_статьи”>Заголовок</a>

Если в ссылке параметр «page» равен «article», и задан id статьи, то получаем соответствующую запись из БД и выводим на экран. Ну и если в ссылке присутствует только тип страницы (article) и не задана статья, то выводим список всех статей, имеющихся в БД.

По-хорошему, нам нужно было отделить код вывода статей от дизайна. На главной странице должен подключаться какой-нибудь блок шаблона content.php, содержащий дизайн вывода основного контента. Этот блок, в свою очередь, подключал бы компонент view.php, содержащий программную часть определенного типа страниц. Но на данный момент весь дизайн составляют несколько html-тегов. Этим можно будет заняться позже.

На сегодня все P.S спать охота капец как. При наличии вопросов, излагаем их в комментариях.
Скачать CMS All-Space



Спустя 3 минуты, 41 секунда (29.05.2011 - 23:25) sharki написал(а):
О_о нет слов...


Щас тут такой холивар начнется, ух...

Спустя 2 минуты, 21 секунда (29.05.2011 - 23:27) seva0812 написал(а):
То что работать лучше c Unicode Transformation Format (UTF)совместимый с 8-битным кодированием текста – UTF8. Это я знаю это тока первый урок я уже знаю что будет дальше.

Спустя 1 час, 5 минут, 43 секунды (30.05.2011 - 00:33) inpost написал(а):
seva0812
Ну, что ж, раз решил, принимай пирожки, я бы поставил неуд за такое, но это лишь первый урок, поэтому пока что ограничимся на оценке 3/5, как бы для того, чтобы было желание стараться развиваться далее. Вот если бы ты делал это для меня - я заставил бы тебя переписать всё это... Кстати, я ещё на текстовую содержательную часть не смотрел!
ЗАЩИЩАЙСЯ: user posted image

mysql_query ("set character_set_client='cp1251'"); - кодировка UTF-8, работа желательно по mysqli, но это рекомендации лишь разработчиков PHP =) Всего лишь их... :)

mysql_query - работать надо с обверткой, и ни при каком случае не допускать вывод mysql_error() на экран, так как это приятный сюрприз будет хакерам. Никогда нельзя использовать mysql_error() в чистом виде. Лучше начать с создания обвертки на начальном уровне, чем потом все команды переписывать залазя в дебри 200-300 файлов сайта.

iinclude 'config.php'; - грамматическая ошибка.

action="admin.php" - ты ссылаешься сам на себя, при этом вдруг автор захочет назвать по другому, поэтому пиши сразу: action="" , то есть сам на себя.

$sql = mysql_query("SELECT * FROM te_article WHERE id='".@$_REQUEST['id']."'"); - на лицо SQL-inj , спрашивается, а чего париться, если мы работаем внутри админки? А ответ очевиден, сайт состоит не только из админ-пользователь. Часто получают доступ к администрированию люди посторонние, как, например, я на данном форуме. При этом про меня известно мало, а про некоторых других экспертов - почти ничего. Цап-царап, и нет форума, да к тому же получит полную базу сайта :)

Насчет стилей: перемешаны следующие стили:
1) Отсутствие стилей как таковых!
2) остальные стили, сейчас их тебе покажу:

if(условие) {
действие
}

if(условие)
{
действие
}

if(условие)
{
действие
}
- это 3 разных стиля, решил программировать - определить в том стиле, который тебе удобен, а не перемешивай.

Для HTML лучше использовать тег <base> на ХОСТа, но это по удобству, если конечно не будешь его указывать через href="/папка/", то есть в первым слешем.

Где разделение кода и логики? Почему часть обработки находится уже внутри вида. Это упрощенная версия, которую добавили разработчики для завлечения молодежи, но со временем, чем больше растят уровень, тем ближе ты будешь приближаться к MVC или к чему-нибудь похожему.

Почему в запросах отсутствует обрамление обратными кавычками? Допустим тот же PMA их использует на ура при работе с мускулом.

Зачем используешь for+foreach, когда достаточно while($row = mysql_fetch_assoc($res)) {цикл} ?

Спустя 6 минут, 47 секунд (30.05.2011 - 00:40) seva0812 написал(а):
Я же говорю это черновая версия на скорую руку!У меня же целый двиг есть целиком тока я объясняю как я создавал его!Поэтому и пишу с чего начал, это же форум для новичков вот и пусть смотрят как делать надо. Вообщем увидешь_)

Спустя 2 минуты, 51 секунда (30.05.2011 - 00:43) Basili4 написал(а):
seva0812
Так делать не надо. И нечего учить плохому. Легче научить сразу как надо чем потом переучивать.

Если это код двига то он весь в дырках как сыр.

Спустя 3 минуты, 32 секунды (30.05.2011 - 00:46) seva0812 написал(а):
Basili4
тебе легко говорить ты php лучше меня знаешь мне всего 16 лет, но уже хоть что то понимаю в нем.
А смысл я ща выложу готовый исходник? В конце должен получиться нормальный защищенный движок с хорошей админкой!

Спустя 7 минут, 45 секунд (30.05.2011 - 00:54) seva0812 написал(а):
Админка
Вход в админку
Вот вам пожалуйста скрины не насытные какие! tongue.gif tongue.gif tongue.gif tongue.gif

Спустя 10 минут, 16 секунд (30.05.2011 - 01:04) inpost написал(а):
seva0812
irbis-team.com , есть уже нормальный для новичков, если и делать конкурирующую - то с таким же качеством, как минимум.
16 лет и ничего не знаю - это не оправдание, если сделал лишь 1 сайт и хочешь такой же научить делать - это тоже не оправдание. У тебя должен быть движек как минимум подтвержденный временем или знаниями, а лучше и тем и тем.

Для новичком достаточно много полезного материала, если хочешь, чтобы к тебе относились серьёзно, то и пиши качественно, а не лишь бы как. Если знаний ооочень мало, то лучше накопи их, сделай несколько сайтов, потом уже. А уж тем более "на скорую руку"... Котеров в 19 лет писал свой учебник знаешь сколько? Более полу года, чуть ли не 9 месяцев, потому что он делал качественно, а ты с таким успехом станешь не более, чем тень Попова, ну и смысл тогда учиться по твоим урокам, когда есть такого же качества уроки Попова?

Берёшь мои все замечания, и проходишь каааждый пункт внимательно, готовишь статью несколько дней, прорабатываешь каждый шаг, чтобы не было такого: "Знаю про UTF, поэтому я показываю на WIN-1251", это гениально просто! После выбираешь, хочешь продолжить писать, перепиши заново, если нет желания переписать более качественно, то можешь пока попробовать написать несколько сайтов, набраться немного опыта, а уж потом писать по ним статьи и уроки.

Чему может научить младенец в ядерной физике другого младенца? Ну не более того, что сам умеет, а если ты не умеешь, то и учить будешь неправильно, у тебя ещё нет твоего сформулированного мнения, и это я к тому, что тот материал, который ты предоставил полностью неправильный, потому что ты занялся не объяснением, что такое функции, и что такое mysql_query, а их использованием.

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

Вообщем, если продолжать так делать - то лучше и вовсе не делать, принцип "лучше хуже, чем ничего" - тут не канает, у тебя должна быть ответственность за подрастающее поколение, которое будет учиться по твоим урокам. Да и как альтернатива мнения, что плохих уроков итак навалом. Хочешь сделать доброе дело? Изучи, займись самообразованием, а уже потом рекомендуй это людям.

Хотя мне кажется, что я ещё рано начал себя так вести, так как ты лишь показал свои 10-15% неправильного кода, и там может быть такой ужас, который тут и не снился. Если уже ты хочешь всё это лишь для себя, чтобы стать умнее, то закончи этот курс, получишь массу от меня критики, или же можешь фильтровать через меня, я не против, напиши в личку, тогда, может и получится что-то более-менее стоющее smile.gif

Для скрин-шотов есть прога такая классная, JetScreenShot называется smile.gif

Спустя 17 минут, 6 секунд (30.05.2011 - 01:21) seva0812 написал(а):
Что же посмотрите......

Спустя 4 часа, 34 минуты, 7 секунд (30.05.2011 - 05:56) XCross написал(а):
Цитата
Для скрин-шотов есть прога такая классная, JetScreenShot называется



PrtScrn->Ctrl+V и больше ничего не нужно... wink.gif

Как думаете, стоит его(seva0812) слушать?

Спустя 50 минут, 17 секунд (30.05.2011 - 06:46) inpost написал(а):
kmaks
Я дал оценку выше, плохие курсы, лучше irbis-team.com , я сейчас по той структуре работаю и очень доволен, немножко переделал, но в целом очень похожа.

Спустя 3 часа, 21 минута, 42 секунды (30.05.2011 - 10:08) CyberOrcX написал(а):
да, UTF8 - универсально
юзай ЮТиЭфВосемь

да, и кстати,
совет ТС,
проектируй свои решения, прежде чем сесть писать код

Спустя 2 часа, 37 минут, 16 секунд (30.05.2011 - 12:45) Arni написал(а):
Нет, это реально правда. Лучший способ учиться это учить других.

seva0812, да ты не обращай внимания на них всех, ты че, не видишь они все волки битые, ты сам когда постигнешь неких высот, будет повод посмеяться над своим же кодом. Я это делаю регулярно раз в 2-3 месяца. Свой же код начинаю ненавидеть. потому что начинаю понимать что не правильно спроектировал, не так представлял себе результат.


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


Это можно сравнить с высоким зданием. Как бы вы хорошо не закладывали фундамент, высота здания не может быть бесконечной.


Удачи вам, seva0812. Уроки, свои лучше куда то в блог личный постите. Не убивайте время зря.

Спустя 1 час, 12 минут, 29 секунд (30.05.2011 - 13:57) dgalexei написал(а):
Arni
полностью с Вами согласен! А эти "волки", как Вы говорите... Толком и помочь не могут... Пятый раз за неделю тему апаю... хоть бы один ответ... профи блин...

Спустя 44 минуты, 53 секунды (30.05.2011 - 14:42) Oyeme написал(а):
Чтобы кого-то учить нужно знать свою облать лучше всех.
Автору будет полезно почитать что такое MVC и http://lurkmore.ru/%D0%98%D0%BD%D0%B4%D1%8...%BA%D0%BE%D0%B4

Спустя 2 минуты, 52 секунды (30.05.2011 - 14:45) Basili4 написал(а):
dgalexei
А что тебе кто то, чего то должен ???

Спустя 29 минут, 35 секунд (30.05.2011 - 15:15) Adil написал(а):
Цитата (Arni @ 30.05.2011 - 12:45)
Нет, это реально правда. Лучший способ учиться это учить других.



Не благодарное дело это учить не правильно.. Переучиваться труднее, чем учить сначала. Поэтому, для новичков, лучше правильный путь выбрать в начале изучения!

Спустя 33 секунды (30.05.2011 - 15:15) Snus написал(а):
Цитата (seva0812 @ 29.05.2011 - 20:21)
$page = !empty($_REQUEST['page'])?trim($_REQUEST['page']):$page = "main";

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

Спустя 4 минуты, 24 секунды (30.05.2011 - 15:20) Админ написал(а):
О великий Гуру - а где можно посмотреть рабочий сайт на этом чудесном движке сделанный ?

Спустя 1 час, 53 минуты, 23 секунды (30.05.2011 - 17:13) dgalexei написал(а):
Basili4
я не говорю что мне кто-то и что-то должен! просто Вы вот критикуете, а сами только элементарные вещи знаете... а человек старается, пусть криво.. но кто читает поймет смысл и уже подправит под себя... главное, алгоритм, который также можно усовершенствовать... Мое мнение что Вы ну уж слишком предвзято отнеслись к парню...

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

Спустя 2 минуты, 40 секунд (30.05.2011 - 17:16) dgalexei написал(а):
Oyeme
а MVC действительно, вещь... согласен с тобой...

Спустя 3 минуты, 4 секунды (30.05.2011 - 17:19) YVSIK написал(а):
Значь так или пытаеси понять , пробовать помогать или на худой конец по делу продлжать тему
всё остальное это уже флуд по моему это так называется!!!)))))
все последние высказывания
есть-же отдельная тема специально для подобных высказываний
тут есль кто не знает.

Спустя 3 минуты, 13 секунд (30.05.2011 - 17:22) seva0812 написал(а):

Спустя 1 минута, 41 секунда (30.05.2011 - 17:24) seva0812 написал(а):
Я пишу тут как я делал из начально!Новички не знаю что базу лутше в утф держать поэтому я потом меняю кодировку и поесняю что лутче использовать утф!

Спустя 42 минуты, 15 секунд (30.05.2011 - 18:06) Basili4 написал(а):
dgalexei
Цитата (dgalexei @ 30.05.2011 - 18:13)
просто Вы вот критикуете, а сами только элементарные вещи знаете...

Мы знаем все. Лично Я на тупые вопросы возникшие из - за лени не отвечаю.

Спустя 10 минут, 39 секунд (30.05.2011 - 18:16) denash написал(а):
$dbcnx = mysql_connect($dblocation,$dbuser,$dbpasswd)
or die("Ошибка бд: ".mysql_error());

Так лучше будет:
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd)
or die("FATAL ERROR");

Спустя 5 минут, 49 секунд (30.05.2011 - 18:22) dgalexei написал(а):
Цитата

Мы знаем все. Лично Я на тупые вопросы возникшие из - за лени не отвечаю.

Хах... всего не знает никто.. это невозможно... а Вы, МЧ, через чур самоуверенны.....
Цитата
Я на тупые вопросы возникшие из - за лени не отвечаю.

а Вы не задумывались что не все такие как Вы Умные, и кто то может действительно нуждаться, пусть не в решении проблемы, а в совете?... Ну да, куда уж нАМ до Вас ...

Спустя 2 минуты, 52 секунды (30.05.2011 - 18:25) Basili4 написал(а):
dgalexei
А я знаю потому, что меня на гугле не забанили. это раз
А совет один всем нуждающимся кури маны. 90% проблем возникают из -за этого.
в 10% я помогаю. Но это все флейм и ему не место в треде. Если есть вопросы пиши в личку.

Спустя 2 минуты, 30 секунд (30.05.2011 - 18:28) denash написал(а):
Пять минут всего просмотрел твою csm http://xygle.net . И уже обнаружил, что бы там html не обрабатываешь (htmlspecialchars). Причём не только в админке не обрабатываешь, но и для пользователя. Пример:
Измени логин на Всеволо<br><br><br><br>5.

Сразу же видно, как у тебя 5 вниз поедет, и там везде так. Так что ты лучше эту cms спрячь подальше.

Спустя 37 секунд (30.05.2011 - 18:28) Игорь_Vasinsky написал(а):
Ну... я запарился просто смайлы оставлять.

По существу:
Моё мнение:
1. Начинать дело - всётаки лучье с проектирования
2. Зачем делать на одной кодировке - потом в конце или в середине - менять её на другую? Возникнет стока вопросов - кракозябры, иероглифа - и в БД беде полная будет, когда можно и нужно сразу (касаемо к п.п. 1) рассказать о выборе той или иной кодировке - приимуществах и не достатках.
dgalexei
Да. мы действительно нечего не знаем и не умеем, наверное поэтому у не которых группа экспертов, у некоторы по полсотни и более + в карме. И вообще это было не по теме.

А ТС: начинание твоё полностью поддерживаю, но :

- конечно каждый сам выбирает чему учиться и как учиться - ты просто не вкурсе - большинство участников форума - поднатаскиваются на MVC - и это здесь очень развито и на должном уровне, есть люди которые отводят на это своё время - в темах ведётся обширное обсуждение уроков, при этом по путно рассматриваются не только CMS, но и в общем PHP.

Ты просто не с того начал, как я уже сказал выше - и сам ты акцентировал - что это сырая CMS.

Вообщем - дело твоё - хочешь рассказывать - рассказывай - а "волки" - будут при первой возможности - тыкать носом в дыры и недостатки - на то они и модераторы и эксперты, один Попов работы добавил скока.

т.е. если учить - то учить, а не хвастаться сырой CMS, люди на начальных этапах обучения - впитывают знания от учителя - как губки.

А я сам - занимаю нейтралитет, и с удовольствием понаблюдаю за развитием.

Спустя 48 секунд (30.05.2011 - 18:29) Игорь_Vasinsky написал(а):
denash
Цитата
И уже обнаружил, что бы там html не обрабатываешь (htmlspecialchars)

biggrin.gif что ему - от самого отбиваться

UPDATE можешь хоть год свои темы апать, а нужно то - выбрать кого нить по смышлёнее и отправить ЛС c приглашением в тему.

Спустя 22 минуты, 53 секунды (30.05.2011 - 18:52) inpost написал(а):
dgalexei
Я отвечаю на 50% тем, которые требуют минимального вложения моих сил, ооочень редко, когда решаю помоочь объемно, ты не исключение, если твой ответ нельзя дать за 10-20 секунд, то как-то не очень и хочется. Хотя я не смотрел, что там у тебя за тема.

Arni
Когда приходишь в универ, ты же платишь огромные деньги за контракт, то разве ты не хочешь сразу получать качественный материал? Так и тут, или статус "бесплатно" говорит о том, что это должно быть плохо? Настоящий пример бесплатного и качественного - irbis-team.com . Не надо тут рассказывать, что я прям такой злой, набросился на бедняжку. Я ему написал в личку, сказал, давай я тебе помогу освоить знания, а потом уже выставишь более качественный материл, подправим, так сказать, вид. А ему не очень и хочется. Ответ: "Ну у меня же 1 сайт работает, вот и славно, да и мне всего 16 лет, я мало что знаю".
Вот единственное в чём ты прав: Лучший способ учиться это учить других. Но есть одно но, как ты компенсируешь причинённый вред тем, которые обучались на таких курсах? Тот же вопрос можно и про Попова, в моём представлении учитель - это сенсей, который многое знает и в ответе за тех, какие знания он даёт. А если человек не имеет того минимума, то лучше сначала поучиться, немного практики набить, а уже потом пытаться учить других. Никто не просит сделать МЕГА_ИДЕАЛЬНЫЙ_CMS, нет, просто самый МИНИМУМ надо сделать...

seva0812
Зачем писать - делаем так, а потом писать - мы делали неправильно, давайте делать так, так правильнее? Мог бы сразу на каком-нибудь latin-1 начать кодить.

Спустя 6 минут, 28 секунд (30.05.2011 - 18:58) inpost написал(а):
dgalexei
К админке имеют доступ не только АДМИН, допустим я как эксперт данного форума имею к частичной админке доступ, а про меня никто ничего не знает. Вот я зашел и вуаля, смотри на свой сайт, чего ты добился тем, что даже через htmlspecialchars не фильтрируешь данные smile.gif
Отличный повод раз и на всегда показать, что надо фильтрировать входящие данные. Открой и смотри внимательно. smile.gif

Спустя 18 часов, 34 минуты, 47 секунд (31.05.2011 - 13:33) alex12060 написал(а):
inpost

Пустил ему штучку с твоего сайта?)

ТС, мне 16 лет, ну да, через 2 недели будет 17, и знаешь, я тут запостил пару ресепшенов, и только 1 прошел более хорошо.

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

Вывод - почитай пока курсы от Ирбиса и участвуй активно в жизни форума. Вот например, я тут всего пол года, но за это время пополнил свой багаж знаний на ~40% разными вкусностями smile.gif

Удачи тебе)

Спустя 1 час, 7 минут, 3 секунды (31.05.2011 - 14:40) inpost написал(а):
alex12060
Что значит "С моего сайта?" О_о. У меня такого нету smile.gif Это юмористический сайт одностраничка, специально для таких подлых вещей существует, там вся вкусность в весёлой музыке, на заставку лучше не смотреть.

Спустя 9 минут, 2 секунды (31.05.2011 - 14:49) alex12060 написал(а):
inpost

inpost.dp.ua уже не твой сайт?
Мир меняется пока я сплю smile.gif

Спустя 5 минут, 11 секунд (31.05.2011 - 14:54) Игорь_Vasinsky написал(а):
А где ТС?
тему уже можно менять на "Написание CMS урок первый и последний!."

Спустя 20 минут, 24 секунды (31.05.2011 - 15:15) Krevedko написал(а):
сони вайо на аватаре-это новый понт такой ? smile.gif
по коду воздержусь от комментария. настроение хорошее )))

Спустя 7 минут, 41 секунда (31.05.2011 - 15:23) inpost написал(а):
Игорь_Vasinsky
Есть и второй в разделе smile.gif))

alex12060
Вообще-то там iframe на митспин.com , а не на мой идёт smile.gif И вообще, спать меньше надо smile.gif

Krevedko
Сони? А я только мальчишку заметил, хотя в скайпе выглядит как девчёнка, моя девушка с наездами на меня набросилась, что это я с девушкой общаюсь...

Спустя 1 минута (31.05.2011 - 15:24) Krevedko написал(а):
inpost -ну ты мальчишек разглядываешь, я ноутбуки biggrin.gif

Спустя 17 минут, 15 секунд (31.05.2011 - 15:41) inpost написал(а):
Ошибка 403, кто-то либо поломал сайт, либо автор его удалил sad.gif Печалька. Чувствую, что я навёл на человека печальку...

Спустя 17 часов, 57 минут, 52 секунды (1.06.2011 - 09:39) Админ написал(а):
Цитата
Ошибка 403

эх не успел увидеть Гуру в деле. Тоже печалька
Быстрый ответ:

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