Показано с 1 по 14 из 14

Тема: ПОСОВЕТУЙТЕ!!!

  1. #1

    Регистрация
    15.10.2005
    Адрес
    Дмитров
    Сообщений
    27
    Здраствуйте!!!
    Ситуация такая:
    Год назад я (как дизайнер) и мой знакомый (как программист) сделали сайт кинотеатра-диско-клуба [Только зарегистрированные пользователи могут видеть ссылки. ] . Денег не платили, просто голый энтузиазм. Обновлять сайт приходиться мне. Очень не удобно, приходится залазить в код и вручную править ссылки. Вся структура сайта основываеться на записи в текстовые файлы. Он был взломан, форум постоянно засоряют рекламой Сайт необходимо переделать!!! Программист - пропал...
    Я вооружился книжой по php и mysql, почитал, немного вникнул, но для создания проекта нехватае ни знаний, ни опыта, ни уверенности. :blush2:
    Помогите советами и ответами на возникшие вопросы, пожалуйста!!!

    Первым делом хочу сделать раздел о Кинотетре.
    Задача: 1. Сделать шаблон страници и подгружать в него новые значения (т.е. уменьшить время загрузки страниц)
    2. архив, фильм и анонс дожны генерировться автоматически в зависимости от даты.

    Вот така схема пришла мне в голову:

  2. #2

    Регистрация
    15.10.2005
    Адрес
    Дмитров
    Сообщений
    27
    1. я беру с сервера дату, например 15.09.05, перевожу ее в число типа 0915, и вставляю ее в разные функции которые ее сравнивают со значениями "а" и "в" и выводят требуемый результат.
    "а" и "в" - это преобразованные даты начала и конца показа фильма, например 0913 и 0920. (эти числа я сам ввожу в базу данных).
    теперь вопосы:
    1. что значит "...имеет смысл помещать включаемые файлы в каталог, который доступен сценарию, но не позволяет проводить самостоятельную загрузку включаемых файлов через веб-сервер..." - где взять этот каталог???
    2. к каждому фильму прикручены коментарии - правильная-ли база днных на моем рисунке.
    3. На хосте предоставляют только одну базу данных, это значит что форум придеться вообще удалять, или его можно помещать в отдельную таблицу?
    надеюсь на понятные ответы, потомучто 2 недели назад я впервые прочетал об операторе echo и т.д.

  3. #3

    Регистрация
    25.09.2005
    Адрес
    http://www.damon.ru/
    Сообщений
    98
    1. права доступа к директории - 600 (только владелец имеет право обращаться к содержимому), "внешний" (общедоступный сценарий вне директории) может включать (include/require) файлы, хранящиеся в директории ...
    2. (рисунок не смотрел) я бы поступил так: если сделать поля нумеруемыми (первой ячейкой, например - id bigint auto_increment primary key), каждый новый пункт будет иметь id, равный порядковому номеру, если пользователь оставляет комментарий на конкретное сообщение в таблице комментов сохраняется id сообщения к которому он относится и его содержание, при чтении делается выборка по id (выбрать все данные из таблицы комментов, где id такой же как у сообщения и вывести) очень просто
    3. если форум требует целую базу, дайте (после инсталляции форума можно дополнить базу таблицами, которые никогда не перекроются с таблицами форума [специальные имена] ... используйте)

  4. #4

    Регистрация
    30.06.2004
    Адрес
    Ангарск
    Сообщений
    245
    Человек просил простые ответы. Давай по порядку :

    Сайт был взломан через форум phpBB. Для начала обновите его, хотя я вижу это уже сделано или нет. Если нет, то советую попасть на [Только зарегистрированные пользователи могут видеть ссылки. ] и заняться апдейтом форума.

    Теперь немного теории по-простому.

    База данных - хранит в себе таблицы. Их может быть много в одной базе данных. Форум можно не сносить, хуже не будет. Форум использует не одну, а много таблиц (это к сведенью)

    Что касается решения вашего вопроса. Я не могу советовать, как лучше. Если хотите использовать базу данных, то тогда придется писать админку, а иначе это будет мартышкин труд.

    Если же всеже хотите на файлах, то тут несколько примеров :
    отмечу, это без использования mysql базой, решения на файлах.

    Код:
    $include_file=$total.".html"; 
    $include_dir="files/";
    $rezult=$include_dir.$include_file;
    if(@file_exists($rezult)) {
    include ($rezult);
    }
    else {
    include ($include_dir."default.html";
    }
    Пример использования script.php?total=film1

    Итак как это работает :
    скрипту передается переменная total которая равна film1
    Теперь по строкам кода
    переменная $include_file равна "film1.html"
    переменная $include_dir равна "files/"
    переменная $rezult равна "files/film1.html"
    ( Понятно, что это как раз местоположение файла, относительно скрипта)
    далле проверяем, а сущетствует ли такой файл ?
    если да, то вставляем файл film1.html из каталога files
    если нет, то вставляем файл default.html из каталога files

    Проверки нужны, чтобы нельзя было сделать вот так
    script.php?total=http://www.мой сайт.ru/злой скрипт.php
    тогда бы мой скрипт заработал бы на твоем сайте. А так файла нет, вставляется default.html


    Давайте попробуем вставить данные о фильмах :

    Для начала создадим текстовый файл вот такого содержания (шаблон):


    Название фильма 1|Дата начала|Дата окончания|Файл описания


    Пример файл films.txt :

    "9 Рота"|16.10.05|19.10.05|9_rota
    "DOOM"|14.10.05|18.10.05|doom


    Программа, которая будет подключать файлы :

    Код:
    $data=file("films.txt"); // считали файл
    
    $now=time(); // сегодня время
    
    // перебираем теперь фильмы 
    
    for ($i=0;$i<count($data);$i++){
    
    list($name_film,$data_start,$data_end,$include_file)=$data[$i];
    list($s_day,$s_month,$s_year)=split(&#39;\.&#39;,$data_start);
    list($f_day,$f_month,$f_year)=split(&#39;\.&#39;,$data_end);
    
    $time_s=mktime(0,0,1,$s_month,$s_day,$s_year);
    $time_f=mktime(23,59,59,$f_month,$f_day,$f_year);
    
    if (($now>$time_s)&&($now<$time_f)){
    echo "<a href=script.php?total=".$include_file.">".$name_film."</a>
    ";
    }
    
    }
    Смысл такой. Перебираем файл films.txt и если попадаем в промежуток. то выводим название фильма, как ссылку.

    Ну вот пара небольших советов. Изучай, читай работай ...

  5. #5

    Регистрация
    15.10.2005
    Адрес
    Дмитров
    Сообщений
    27
    Спасибо за предоставленный пример, полезная информация.
    Делать хочу с базами данных по 2-м причинам.
    1. Научиться работать с базами.
    2. Написать админку и научить секретаршу добавлять фильмы.
    Другими словами, сять с себя администрирование :closedeyes:

    Вопрос: у меня на хосте 2 катлога, www и log, файлы для функции require (), помещаются в новую папку с правами 600??? а сама папка находится в www или выше???
    Какие должны быть права у папки с сайтом (www)?
    Какие дожны быть права у папки с картинками фильмов, если эти картинки загржаются пользователями при помощи пхп, а в базу заноситься только src-ссылка. в книге написано что для безопасности сама папка должна находиться вне корневого каталлога. Т.е. выше www???

  6. #6

    Регистрация
    30.06.2004
    Адрес
    Ангарск
    Сообщений
    245
    Значит так. Каталог www там лежат все файлы сайта. Выше нет смысла класть. И вообще, если Вы ни бум бум в этом во всем ... то советую правами не заморачиваться, тем более Вам врядли это понадобится в ближайшее время.

  7. #7

    Регистрация
    15.10.2005
    Адрес
    Дмитров
    Сообщений
    27
    Я не совсем не бум бум!!!
    Есть книжка, есть мозг, есть желание!!! вот только спрашивать неукого!!!
    Вначале всегда тяжело.

    Вот еще назрел вопрос:
    на странице "афиша" где описание фильма будеть 1 большая картинка фильма. А на страницах анонс и архив будут много маленьких. как лучше сделать написать скрипт который при загрузке на сервер делать 2 картинки (большую и маленькую) и сувать их в разнае котологи, или сделать один каталог с картинками и ресайзить их при вызове страници разными скриптами???

    И правами заморачиваться уже нужно

  8. #8

    Регистрация
    16.09.2005
    Сообщений
    1
    Проще наверно сделать маленькую и большую или что значит "ресайзить разными скриптами" ?

  9. #9

    Регистрация
    25.09.2005
    Адрес
    http://www.damon.ru/
    Сообщений
    98
    Проще с thumbnails (ресайзить).
    Но генератор лучше делать на perl, GD работает быстрее (проверено).

  10. #10

    Регистрация
    15.10.2005
    Адрес
    Дмитров
    Сообщений
    27
    Ну вот... Мнения разделились...

    "Ресайзить" - это изменение размеров загружаемых картинок при помощи скриптов. в моем лучае 1 скрипт делает 2 кртинки.

    На данный момент сделал страничку администрирования для загрузки фильмов в базу и страницу просмотра идущего фильма.
    На локальном хосте все работает, только я преставления не имею как базу на другой хостинг перебросить. Вообще как она выглядит??? Это какойто файл??? Или с ней только через cmd можно общаться???

    Как поступить с каталогом для картинок если в него можно загружать файлы всем, чтобы было безопаснее???

  11. #11

    Регистрация
    22.10.2004
    Адрес
    Москва
    Сообщений
    2
    Ликбез. Чтобы работать локально с удобством поставь себе Денвер
    denwer.ru
    Для переброски базы на сайт используй либо phpmyadmin (найдешь его в Денвере или скачаешь отдельно), либо через шелл (ssh доступ к сайту с помощью команды mysql).
    По поводу базы. Немножко теории на примере двух таблиц.

    таблица films
    id - номер фильма (поле неотрицательное челое число. проставляется автоматчески при добавлении нового - так называемый автоинкремент)
    filmname- имя фильма

    таблица kinoteatri
    id - - номер кинтеатра (поле неотрицательное челое число. проставляется автоматчески при добавлении нового - так называемый автоинкремент)
    kinoteatrname

    тепер repertuar
    id
    film_id
    kinoteatr_id
    data_start
    data_end
    time

    думаю поля понятны. (номер, фильм id, кинотеатр id, дата начала, дата конца-советую даты хранить как целое число. почитай про timestamp, и собственно время начало сеансов)
    почитай про понятие третьей нормальной формы, отношение многие ко многим, один ко многим и т.д.

    Будут многие говорить что не идеально - бога ради. Есть простой ответ -kinoafisha.net это делал я

  12. #12

    Регистрация
    25.09.2005
    Адрес
    http://www.damon.ru/
    Сообщений
    98
    Originally posted by Rom@Nov 18 2005, 08:30
    Как поступить с каталогом для картинок если в него можно загружать файлы всем, чтобы было безопаснее???
    <div align='right'>[Только зарегистрированные пользователи могут видеть ссылки. ]
    [/quote]

    гм-гм...
    это мания преследования
    за принятие файла отвечает серверный сценарий (если вы его поставили), в начале сценария поставить проверку логина и пароля (они правильные - идет выполнение сценария, нет - "аварийное завершение", т.е. файл не закачивается).

  13. #13

    Регистрация
    15.10.2005
    Адрес
    Дмитров
    Сообщений
    27
    Странно, делаю вывод архива. Функция выводит количество выбранных строк, если беру 1 фильм тоже все ок. А вот когда пытаюсь вывести содержиме строк попорядку она не работает
    Подскажите где ошибка

    //вывод архива

    function display_arhiv ()
    {

    $date = date(&#39;md&#39;
    $den = (integer)$date;
    $conn = db_connect ();

    if (!$conn)
    {
    echo &#39;базу не найду&#39;;
    exit;
    }

    mysql_select_db(&#39;planeta&#39;

    $result = mysql_query ("select * from films where ar > &#39;$den&#39;");

    $num = mysql_num_rows($result);
    echo $num ;

    for ( $i=0; $i < $num; $i=++)
    {
    $row = mysql_fetch_array ($result);
    echo &#39;
    &#39;;
    echo stripslashes ($row[&#39;ar&#39;, &#39;an&#39;, &#39;name&#39;]);
    }
    }

    присоединяюсь к базе так

    //присоединение к базе данных

    function db_connect()
    {
    $result = mysql_pconnect (&#39;localhost&#39;, &#39;root&#39;, &#39;1&#39;
    return $result;
    }


    Про имя и пароль подкалывать не надо, сам знаю!!! Потом изменю!!! k:

  14. #14

    Регистрация
    15.10.2005
    Адрес
    Дмитров
    Сообщений
    27
    Сам нашел!!!

    через while работает :biggrin2:

Похожие темы

  1. Посоветуйте
    от Calvin в разделе Дизайн сайтов
    Ответов: 4
    Последнее сообщение: 24.11.2011, 15:55
  2. Посоветуйте
    от Борис в разделе Флейм
    Ответов: 1
    Последнее сообщение: 08.11.2007, 15:45
  3. Посоветуйте.
    от SteelApple в разделе Флейм
    Ответов: 0
    Последнее сообщение: 23.05.2007, 17:49
  4. Посоветуйте
    от NickMan в разделе Векторная графика
    Ответов: 1
    Последнее сообщение: 10.04.2007, 21:19
  5. посоветуйте бесплатую ЦМС
    от asat в разделе Веб-программирование
    Ответов: 11
    Последнее сообщение: 21.03.2007, 21:33

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •