НЕЗНАЙКА » 2008.11.24 16:59

Вот пока думаю(хоть бы и не пока) сделать библу. Но вот как такого не понял принцип. К примеру, файлы в .txt, папки просто без директорий типа ид=21, работа на мускуле. Объясните принцип, пожлста.

Gemorroj » 2008.11.24 17:10

CREATE TABLE IF NOT EXISTS `files` (
  `id` int(16) unsigned NOT NULL auto_increment,
  `path` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`),
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;


INSERT INTO `files` (`id`, `path`) VALUES(1, 'files/file.txt');

создай БД `files` и выполни следующий SQL запрос.
это поможет понять как работает эта схема. Т.е. к какждому id привязывается конкретный путь.

НЕЗНАЙКА » 2008.11.24 17:24

Ну для новичка я понял запрос(запись тест файла). А как быть с каталогами? Опять же пример, 'учеба', 'рецепты' каталоги в БД, и теперь надо создать папки для них? //я интересуюсь видом как на форуме ?cat=1&text=21, причем в каталогах могут быть и подкаты

Gemorroj » 2008.11.24 18:45

посомотри как это реализовано в Sea Downloads.
INSERT INTO `files` (`id`, `path`) VALUES(1, 'files/file.txt');
files/file.txt - записываем не сам файл, а только путь к нему. так же и с каталогами, пишем путь к каталогу.

НЕЗНАЙКА » 2008.11.25 10:26

Ну т.е. всё равно придется создавать папки. //при перемещении папки/текста данные надо снова передамисывать? ///Пойду смотреть загруз

Gemorroj » 2008.11.25 11:13

да, именно так.

НЕЗНАЙКА » 2008.11.25 15:59

Код:

1
span style="color: #0000BB"><?php//функция авторизацииfunction autorize() { global $login, $pass;//соответствие с данными в базе $login = mysql_real_escape_string($login); $pass = mysql_real_escape_string($pass); $q = @mysql_query("select * from uzvers where ((`log`='$login') and (`psss`='$pass')) limit 1;"); $duser=@mysql_fetch_array($q); return $duser; } $autorize=autorize();?>

Добавление пользователями текста, прошедшие регу. Вот 'выдрал' код. Поясни глобал. Каким образом идет присваивание, если ввод параметров не на странице? Функция вставляется во всех станицах.

Gemorroj » 2008.11.25 17:13

Код:

1
span style="color: #0000BB"><?php//функция авторизацииfunction autorize(){// эти переменные будут видны извнеglobal $login, $pass;// слеширование опасных символов$login = mysql_real_escape_string($login);$pass = mysql_real_escape_string($pass);return @mysql_fetch_array(mysql_query("SELECT * FROM `uzvers` WHERE `log`='$login' AND `psss`='$pass' LIMIT 1"));}$autorize = autorize();?>

внутри функций переменные НЕ видны, чтобы сделать переменные видными внутри функций следует обозначить их словом global, как и было сделано выше.
Но, внутри функций видны константы и суперглобальные массивы.

НЕЗНАЙКА » 2008.11.25 17:45

Это никак не связано с регистр глобалс? Ну, не влияет на безопасность и ошибки?

Gemorroj » 2008.11.25 17:55

нет, никак не связано.

НЕЗНАЙКА » 2008.12.01 18:41

1.Как разделить код от стиля? Видел при помощи смарти, но я даже не знаю чезанах. В phpББ тоже самое. Как такого нужны простенькие шаблоны(формы, в админке, анкета) Там вида .tpl: <див класс=е>{чтото}</див> Есть ли еще возможности? Необходимо, чтобы в код не лазить.
2.Че значит в мускул НОТ НУЛЛ дефаулт'0'? Что случится после записи/не записи, ну числа 35?

Gemorroj » 2008.12.01 19:32

1) да smarty. там все очень просто. http://smarty.net/download.php на сайте есть мануал на русском.
2) это значит, что по умолчанию в ячейку будет вставляться ноль.

НЕЗНАЙКА » 2008.12.01 19:50

Не могу открыть русский( Пустую выдает. Может ссыль дашь норм?

Gemorroj » 2008.12.01 20:20

http://smarty.net/manual/ru/ там где-то еще и в CHM есть.

НЕЗНАЙКА » 2008.12.01 20:30

Ага нашел. Спасиб. Ток как посмотрел на 'страничку' немного ужаснулся)//Нашел и файлы, но чтото версии 2.6.14 хотя уже 19. Так должно? Или устаревшая инфа?

Gemorroj » 2008.12.01 21:45

я точно не знаю отличия, но я лично пользовался этой CHM документацией.

НЕЗНАЙКА » 2008.12.02 10:13

Ну она все равно не новой версии

denich » 2008.12.02 17:19

да ну этот смарти, пиши так и не парься)

Gemorroj » 2008.12.02 18:21

Я бы слово "парься" тут не применял. ИМХО Smarty наоборот упрощают разработку. Просто нужно выучить их синтаксис. Это совсем не сложно.

НЕЗНАЙКА » 2008.12.02 19:18

Ничего себе не сложно!? Там кода куча. Да я еще и пых толком не знаю( Че то мне кажется не осилю

НЕЗНАЙКА » 2008.12.08 08:39

$act = $_GET["mode"]; далее переключатель. И ссылка выглядит ?mode=1 Я так понял, что передача по ссылке(привык что данные поступают из формы). А дальше $user=intval($_GET["user"]); , откуда берут гет?

Gemorroj » 2008.12.08 11:43

ты о чем????) ссылки в PHP обозначаются амперсандом. &

НЕЗНАЙКА » 2008.12.08 12:27

Я о том, что не пойму как/для чего передается через гет.

Код:

1
$act=$_GET[mode] switch($act) {case edit: {условия; break;}

и ссылка имеет вид index.php?mode=edit Вот.

Gemorroj » 2008.12.08 12:33

GET это метод передачи данных. Так же как и POST.
При написании форм, даже часто явно указывают метод <form action="" methos="post">
это нужно чтобы рзделаять эти 2 метода. Если не нужно такого разделения, то есть еще массив $_REQUEST.
И вот снова у тебя $act=$_GET[mode], зачем? Лучше так:

Код:

1
span style="color: #0000BB"><?phpswitch($_GET['mode']){case 'xz':// что-нибудьbreak;}?>
НЕЗНАЙКА » 2008.12.08 12:38

Не понимаешь ты меня) Ну с формами попроще, взял нужную переменную и все. А в GET как ею пользоватся? Щас тогда еще задунаясь//пример есть пример просто для показа поэтому так

Gemorroj » 2008.12.08 12:42

так же как и любыми другими массивами.

НЕЗНАЙКА » 2009.01.07 16:57

Даже и не знаю че спросить-мало знаю, но хочу многое)) Я че то так и не понял с работой с файлами.тхт. Можешь, если не трудно, описать порядок. В голове то есть представление... Заходим ?cat=1&text=123 Получаем текст с файла по $text И тут ступор
Добавлено спустя   1 минуту  29 секунд:
Ты говорил про загруз, но там просто вывод. Здесь же чтение

Gemorroj » 2009.01.07 17:03

хм, если зайдем по ?cat=1&text=123, получим 2 переменные $_GET['cat'] = 1; и $_GET['text'] = 123; и ничего больше. (Ну еще $_REQUEST, но это не важно).
Содержимое файла можно получить многими способами. Самый простой - это использовать функцию file_get_contents

НЕЗНАЙКА » 2009.01.07 17:41

Это ты уже писал ;) если писать че хочешь может и найдется решение. Попробую) 1.Идет выборка из базы адрес=ид текста/каталога
2.Надо получить путь чтобы файл_гет_контент
3.Вопрос?
4.читаем

Gemorroj » 2009.01.07 20:57

я не понял вопроса)

НЕЗНАЙКА » 2009.01.07 20:59

Щас попробую скорректировать
Добавлено спустя   3 минуты  56 секунд:
Как я говорил сначала, тексты в файлах и идет привязка к личному ид. Теперь как их читать, точнее вывести конкретно файл, через этот самый ид? А, понял?

Gemorroj » 2009.01.07 21:13

ну где-то должна быть эта привязка?
print file_get_contents('Путь к файлу');