За последние 24 часа нас посетил 16051 программист и 1539 роботов. Сейчас ищут 892 программиста ...

Необходима помощь.

Тема в разделе "Прочие вопросы по PHP", создана пользователем Wear_Good, 8 мар 2014.

  1. Wear_Good

    Wear_Good Новичок

    С нами с:
    8 мар 2014
    Сообщения:
    20
    Симпатии:
    0
    Адрес:
    Дальний Восток, г. Хабаровск
    Здравствуйте, в программировании я новичок, но смог еле как создать очень простой хостинг изображений.
    Пожалуйста, не могли бы вы написать код установки, т.е. чтобы пользователь смог настроить хостинг.
    К примеру подключение к БД (Очень важно, т.к. есть неопытные и в коде могут ничего не понять), название сайта.
    Я вам буду премного благодарен.
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    пользователь чего? напиши пользователю инструкцию что он должен сделать чтобы всё заработало. если окажется, что инструкция слишком сложная для пользователя, значит ты ошибся с целевой аудиторией.
     
  3. Wear_Good

    Wear_Good Новичок

    С нами с:
    8 мар 2014
    Сообщения:
    20
    Симпатии:
    0
    Адрес:
    Дальний Восток, г. Хабаровск
    Именно эта инструкция мне и нужна.
    Чтобы пользователь попал на http://site.ru/install.php и смог настроить БД и смог изменить название сайта.
     
  4. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Что то не понятно. Может напишешь а мы подредактируем?
     
  5. Wear_Good

    Wear_Good Новичок

    С нами с:
    8 мар 2014
    Сообщения:
    20
    Симпатии:
    0
    Адрес:
    Дальний Восток, г. Хабаровск
    Хорошо объясню понятнее.
    Знаете когда вы скачиваете какую нибудь CMS или какой либо другой скрипт, вы его заливаете на хостинг или локальный сервер, ну это не важно.
    Когда вы открываете у вас вылазит установщик. Где вам сказано, ввести данные базы данных, указать имя сайта и т.д.
    Мне вот это как раз таки надо.

    Добавлено спустя 2 минуты 19 секунд:
    Мне нужно чтобы пользователь указывал базу данных не в исходном коде, а на сайте через форму, а далее сделать проверку, т.е. если база данных указана правильно, то сообщается об успешной установке, а если база данных не определена вылазит сообщение об ошибке.
     
  6. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Ну это не инструкция, а ТЗ на разработку, а это уже требует финансового поощрения :)
    По сути не так сложно на чем застрял?
     
  7. Wear_Good

    Wear_Good Новичок

    С нами с:
    8 мар 2014
    Сообщения:
    20
    Симпатии:
    0
    Адрес:
    Дальний Восток, г. Хабаровск
    Да я как бы вообще это понять никак не могу.
    Сколько уроков пересмотрел все равно дуб дубом, а php для меня очень интересен.
    Раз вы говорите это не так сложно думаю может какой нибудь программист поможет.
     
  8. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Тут много программистов. Опиши в чем проблема.
     
  9. Wear_Good

    Wear_Good Новичок

    С нами с:
    8 мар 2014
    Сообщения:
    20
    Симпатии:
    0
    Адрес:
    Дальний Восток, г. Хабаровск
    Необходимо написать установщик, для моего скрипта хостинг изображений. Сейчас у меня в скрипте, чтобы определить ДБ необходимо лезть в исходный код, а я хочу чтобы пользователь определял ДБ на сайте при открытии страницы.
     
  10. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Ты хочешь готовый код или помощи?
    Готовый код - другой раздел или фриланс или бесплатная помощь.

    Нужна помощь опиши на чем застрял.
     
  11. Wear_Good

    Wear_Good Новичок

    С нами с:
    8 мар 2014
    Сообщения:
    20
    Симпатии:
    0
    Адрес:
    Дальний Восток, г. Хабаровск
    Мне нужен уже готовый код.
     
  12. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Нужны твои исходники и немного валюты :)
    Это не помощь это работа:)
     
  13. Wear_Good

    Wear_Good Новичок

    С нами с:
    8 мар 2014
    Сообщения:
    20
    Симпатии:
    0
    Адрес:
    Дальний Восток, г. Хабаровск
    Какова цена
     
  14. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Хоть сегодня не мой праздник но все же по праздникам не работаю. Пиши во фриланс.
     
  15. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    А установщик то тебе зачем? Еще и платный...
    Если не можешь его написать, значит и в хостинге изображений твоем дырка на дырке и лучше пусть им ни кто не пользуется. Во имя бобра )
     
  16. Wear_Good

    Wear_Good Новичок

    С нами с:
    8 мар 2014
    Сообщения:
    20
    Симпатии:
    0
    Адрес:
    Дальний Восток, г. Хабаровск
    Дырки отсутствуют. Сам скрипт бесплатный (Creative Commons). Просто для удобности нужно чтобы был установщик.
    Определение дб - это самое важное что нужно.
    А сейчас чтобы определить дб нужно лезть в config и там искать, ну неопытный юзер точно не сможет подключиться.
     
  17. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Ну так пусть файлик с настройками во время инсталла и создается. Пользователь ввел, ты проверил что коннект есть и база на месте и сохранил настройки куда-нибудь. Можно к примеру собрать весь конфиг в массив и сохранить его в файл, есть даже вот такая штука для этого:
    http://php.ru/manual/function.var-export.html
    А потом уже в скрипте его инклудить куда нужно.
    Дамп базы тоже можно так же взять из файла и выполнить.

    Вот тебе и инсталл весь )
     
  18. Wear_Good

    Wear_Good Новичок

    С нами с:
    8 мар 2014
    Сообщения:
    20
    Симпатии:
    0
    Адрес:
    Дальний Восток, г. Хабаровск
    И как это сделать?
     
  19. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Что конкретно? Ну примерно так:
    1. Пользователь запускает install.php, там формочка с различными вопросами, он заполняет, жмет "сохранить"
    2. Ты получаешь формочку, проверяешь что все заполнено, коннект к базе, оформляешь массивчик и выгружаешь его в config.php
    3. Попутно читаешь какой-нибудь mydump.sql и выполняешь его как самый обычный запрос, тем самым создавая всякие таблички и занося нужные данные.
    4. Если все прошло верно - пишешь пользователю что дамп и install.php желательно бы удалить, если нет - возвращает его к формочке.

    В файлах самого скрипта же просто инклудишь этот config.php в нужном месте.

    А вообще, для этого всего люди придумали фреймворки, композеры и миграции )
     
  20. Wear_Good

    Wear_Good Новичок

    С нами с:
    8 мар 2014
    Сообщения:
    20
    Симпатии:
    0
    Адрес:
    Дальний Восток, г. Хабаровск
    Не могли бы код написать?
     
  21. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Седня ж праздник как бы. Напиши в раздел фриланса с подробностями чего хочешь и вилкой цен. Кто-нибудь да отзовется )
     
  22. Wear_Good

    Wear_Good Новичок

    С нами с:
    8 мар 2014
    Сообщения:
    20
    Симпатии:
    0
    Адрес:
    Дальний Восток, г. Хабаровск
    Хорошо, спасибо.
     
  23. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Можно всё в одной большой форме отправить, в которой будет имя новой бд, имя сайта и прочие настройки.
    Можно разделить логику на несколько этапов. Например.
    Текущий этап хранить в сессионной переменной
    Код (PHP):
    1. $_SESSION['step'] = 'start';
    Первый шаг. Нужно, например, вывести форму, в которой вводится имя новой базы.
    Проверяешь сессионную переменную: если мы на шаге 'start', то вывести первую форму. Если мы отправили данные с именем новой базы, то проверить наличие такой базы в БД и вывести результат вставки, либо сообщение об ошибке и т.д. Если всё ок, переходим на второй шаг.
    Псевдокод setup.php
    Код (PHP):
    1. if(!isset($_SESSION['step'])){// первая загрузка страницы
    2.     $_SESSION['step'] = 'start';
    3.     $_SESSION['msg'] = '';// сообщения всякие
    4. }
    5.  
    6.  
    7. if ($_SESSION['step'] == 'start') {// этап называется 'start'
    8.     if(isset($_POST['dbname']) {// если отправлено имя новой базы
    9.         //подключиться к бд и проверить, существует ли такая база
    10.         mysql_connect();
    11.         mysql_query('SELECT COUNT(*) FROM information_schema.SCHEMATA WHERE SCHEMA_NAME LIKE "db_name"');
    12.         if (!существует) {
    13.             mysql_query('CREATE TABLE ...');// создать базу
    14.             if (успешно_создали) {
    15.                 $_SESSION['step'] = 'site_name';// следующих этап
    16.                 $_SESSION['msg'] = 'база создана!';
    17.             } else {
    18.                 $_SESSION['msg'] = 'ошибка при создании: '.mysql_error();
    19.             }
    20.         } else {
    21.             $_SESSION['msg'] = 'уже есть такая база';
    22.         }
    23.         header('Location:/setup.php');// на эту же страницу setup.php
    24.     }
    25.     
    26.     //вывод формы
    27.     //<form name="dbcreation">...
    28.     //<input name="dbname" value=""> сюда вводится имя новой базы
    29. }
    30.  
    31. if ($_SESSION['step'] == 'site_name') {// этап 'site_name' - вводим имя сайта
    32.     if(isset($_POST['sitename']) {// если отправлено имя сайта
    33.         //записываем в бд или конфиг
    34.         $_SESSION['step'] = 'your_name';// следующих этап
    35.         $_SESSION['msg'] = 'у сайта появилось имя!';
    36.         header('Location:/setup.php');// на эту же страницу setup.php
    37.     }
    38.     
    39.     //вывод формы
    40.     //<form name="site_name">...
    41.     //<input name="sitename" value=""> сюда вводится имя сайта
    42. }
     
  24. Wear_Good

    Wear_Good Новичок

    С нами с:
    8 мар 2014
    Сообщения:
    20
    Симпатии:
    0
    Адрес:
    Дальний Восток, г. Хабаровск
    Parse error: syntax error, unexpected '{' in C:\OpenServer\domains\localhost\setup.php on line 12
    12 строчка:
    if ($_SESSION['step'] == 'start') {
     
  25. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    написано же
    в нём нет session_start() и многих деталей.