Jump to content

Funtik44

User
  • Posts

    62
  • Joined

  • Last visited

Posts posted by Funtik44

  1. Есть еще третий вариант - использовать PHP-фреймворк, который тоже не отнимает необходимость учить PHP.

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

    В вопросе скорее среднестатистический сайт, который по набору разной функциональности также тянет на среднестатистический сайт. Скорее даже сайт - услуга. Что касается CMS я так понял, её конечно можно использовать, но она дает некую неповоротливость сайту. Т.е. я не всегда смогу сделать так как задумал, придется либо переделовать либо придумывать способы обхода (например визуально нарисовал сайт, а воплотить на CMS один в один врядли удасться).

    В конце концов, можно же самому сделать сайт, пусть он будит кривой и не безопасный, но со временем либо доработать, либо заказать, чтобы его переписали.

    все эти рассуждения про джумлы как минимум несерьёзны.

    Если интересно именно саморазвитие, обучение, то пишите с нуля своё. Информации в интернетах достаточно.

    Если проект коммерческий, то тут о джумлах тем более речи быть не может. Только распространённая сертифицированная коммерческая CMS. Обязательно документированная. Мне известны только две такие: 1С-Битрикс и UMI-CMS. Может ещё какие есть, но принцип выбора строго таков: обязательно документированная.

    Кстати, для некоммерческих тот же принцип действует. И документация должна быть не в виде mediawiki с заполненными полутора страничками, и не в виде форума, на котором дружелюбное сообщество ответит на любой вопрос, а именно полностью описано API. Пример, какой должна быть документация по CMS.

    Не савсем понятно к чему нужно соблюдать такие критерии? Это где-то прописано на законодательном уровне? Я думаю врядли, а бесплатные CMS и движки (типа PHP) на то они и созданы, чтобы можно было самому начать.

  2. Ну а с точки зрения безопасности и быстродействия как себя ведет Joomla? Например если я добавляю поисковик на сайт т.е. некий кирпичик, уже готовый, взятый из Joomla, то код у этого кирпичика будет написан правильно с точки зрения безопасности (закрыт от sql-инъекций) и быстродействия (CSS используется в Joomla, или вообще написание кода при помощи CSS может только человек)?

  3. Добрый день всем. Начал делать свой сайт и у меня возник следующий вопрос: Что лучше использовать для разработки сайта - CMS Joomla или выучить PHP и с нуля разрабатывать сайт на PHP и HTML?

    PS "Лучше" - имеется ввиду более безопасно (для новичка) и более быстродейственно? Учитывая тот факт, что само программирование для меня на втором месте, на первом всетаки наличие своего сайта!

  4. Вот что получается:

    Поиск по базе:

    <?php include ("config.php");
    $search = mysql_real_escape_string($_POST['search']);
    $res = mysql_query("SELECT `id`,`placename`,`description` from `places` where `description` like '%".$_POST['search']."%'", $db);
    if (!$res) {echo "Запрос не прошел."; exit(mysql_error());}
    $myrow = mysql_fetch_array($res);
    ?>

    Поиск по карте:

    <script type="text/javascript">
    var map, geoResult;

    // Создание обработчика для события window.onLoad
    YMaps.jQuery(function () {
    // Создание экземпляра карты и его привязка к созданному контейнеру
    map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]);

    // Установка для карты ее центра и масштаба
    map.setCenter(new YMaps.GeoPoint(37.64, 55.76), 10);

    // Добавление элементов управления
    map.addControl(new YMaps.TypeControl());
    });

    // Функция для отображения результата геокодирования
    // Параметр value - адрес объекта для поиска
    function showAddress (value) {
    // Удаление предыдущего результата поиска
    map.removeOverlay(geoResult);

    // Запуск процесса геокодирования
    var geocoder = new YMaps.Geocoder(value, {results: 1, boundedBy: map.getBounds()});

    // Создание обработчика для успешного завершения геокодирования
    YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {
    // Если объект был найден, то добавляем его на карту
    // и центрируем карту по области обзора найденного объекта
    if (this.length()) {
    geoResult = this.get(0);
    map.addOverlay(geoResult);
    map.setBounds(geoResult.getBounds());
    }else {
    alert("Ничего не найдено")
    }
    });

    // Процесс геокодирования завершен неудачно
    YMaps.Events.observe(geocoder, geocoder.Events.Fault, function (geocoder, error) {
    alert("Произошла ошибка: " + error);
    })
    }
    </script>

    Вывод данных по базе и карте:

    <form action="#" method="post" onsubmit="showAddress(this.address.value);return false;">
    <p>
    <input type="text" id="address" name="search" style="width:525px;" value="Москва" />
    <input type="submit" value="Искать" />
    </p>
    <div id="YMapsID" style="width:600px;height:400px"></div>
    </form>

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

  5. Я нашел такой скрипт, который осуществляет поиск по карте:

            function showAddress (value) {
    map.removeOverlay(geoResult);
    var geocoder = new YMaps.Geocoder(value, {results: 1, boundedBy: map.getBounds()});
    YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {
    if (this.length()) {
    geoResult = this.get(0);
    map.addOverlay(geoResult);
    map.setBounds(geoResult.getBounds());
    }else {
    alert("Ничего не найдено")
    }
    });
    YMaps.Events.observe(geocoder, geocoder.Events.Fault, function (geocoder, error) {
    alert("Произошла ошибка: " + error);
    })
    }

    Он использует input id=address, у меня же стоит id=inputtext, как сделать input общий для всех, чтобы и карты искались по нему и контент в MySql?

  6. Добрый день всем.

    Есть сайт, при входе на страницу которого, пользователь вводит имя объекта в строку поиска, и на сайт выводится контент из MySql по запрашиваемому объекту (это все работает). На этой же странице я разместил API Яндекс.Карт. Необходимо добиться того, чтобы вместе с контентом на карте отображалось место. Ну например пользователь ввел город "Москва" вывелась информация по городу Москва и заодно на карте появилась собственно сама Москва. Как мне это сделать?

    Вот скрипт поиска:

    <?php include ("config.php");
    $search = mysql_real_escape_string($_POST['search']);
    $res = mysql_query("SELECT `id`,`placename`,`description` from `places` where `description` like '%".$_POST['search']."%'", $db);
    if (!$res) {echo "Запрос не прошел."; exit(mysql_error());}
    $myrow = mysql_fetch_array($res);
    ?>

    Вот пример того, как поиск выводит данные на сайт:

    <form action="" method=post>
    <input id="inputtext" type="text" name="search" />
    <input id="inputbut" type="image" src="images/search.gif" name="submit">
    </form>

    Вот стандартный скрипт взятый с сайта http://api.yandex.ru для вставки карты:

    <script src="http://api-maps.yandex.ru/1.1/index.xml?key=Здесь мой ключь активации=="
    type="text/javascript"></script>
    <script type="text/javascript">
    window.onload = function () {
    var map = new YMaps.Map(document.getElementById("YMapsID"));
    map.setCenter(new YMaps.GeoPoint(37.64, 55.76), 10);
    map.addControl(new YMaps.TypeControl());
    map.addControl(new YMaps.ToolBar());
    map.addControl(new YMaps.Zoom());
    map.addControl(new YMaps.MiniMap());
    map.addControl(new YMaps.ScaleLine());
    var zoomControl = new YMaps.Zoom();
    }
    </script>

  7. Создал новую папку - без изменений. В IE работает нормально, т.к. я в нем и куки удалял и все чистил, и потом заного запускал - т.е. IE ничего не кэширует. Может зависит от того, какой браузер используется по умолчанию, у меня какраз IE.

  8. Непонял что за проблема. Объясните подробнее.

    Проблемма в следующем:

    в IE набираю http://site.ru - всё работает отлично, сайт грузится. Тоже самое делаю в Mozilla, Chrome и Opera - пишется, что невозможно отобразить страницу!

    PS если ввожу W:\home\site.ru\www\index.php то работает везде.

    PPS Стоит Denwer.

  9. о, а я это и не заметил :)

    конечно же не будет работать. создайте в папке home папку site.ru а в ней папку www и в эту папку закиньте ваш индексный файл, после запуска денвера, наберите адрес вашего сайта типа: site.ru и он откроется. :)

    Так я так и делаю. У меня есть следующая папка и файл W:\home\site.ru\www\index.php В IE я набираю site.ru и он работает, в остальных делаю тоже самое, он не работает(((

  10. Может это глюк такой. Справа он светится неактивным, а внизу в "Деталях" написано, что поле проиндексированно.

    PS Сколько полей в одной таблице должно быть уникальными и первичными?

  11. Не могу добавить значение INDEX полю description? Как это сделать в phpmyadmin? Пробовал запрос написать, тоже не получается.

    Какие-нибудь еще поля нужно индексировать и у меня 3 поля имеют PRIMARY, это правильно?

    d227b9364ffa.jpg

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

  12. И еще, есть такой метод (я прочитал) борьбы со взломом - усечение входных параметров (' + LeftStr(id, 4) + '), это куда добавлять и как это работает, точнее как правильно добавить вот сюда:

    $res = mysql_query("SELECT `id`,`placename`,`description` from `places` where `description` like '%".$_POST['search']."%'", $db);

  13. Появились следующие проблеммы:

    1. В Mozill'e, Chrome и Oper'e скрипт поиска не отрабатывает (хотя в IE всё идеально):

    <?php include ("config.php");
    $search = mysql_real_escape_string($_POST['search']);
    $res = mysql_query("SELECT `id`,`placename`,`description` from `places` where `description` like '%".$_POST['search']."%'", $db);
    if (!$res) {echo "Запрос не прошел."; exit(mysql_error());}
    $myrow = mysql_fetch_array($res);
    ?>

    2. В Mozill'e, Chrome и Oper'e сайт не работает если я перехожу по прямому адресу (http://site.ru), если же открываю локальный адрес (file:///W:/home/site.ru/www/index.php), то все работает (за исключением поиска). И еще в Chrome при переходе на страницу со скриптом, он открывает не страницу, а код отображает на экране.

    Ребят, не подскажите, в чем тут может быть дело?

  14. Всё получилось, спасибо.

    А в чем опасность простого поиска (такого как у меня), без релевантности, sphinx и других приблуд?

  15. Вот что получилось, что здесь не правильно, подскажите пожалуйста?

    <?php include ("config.php");
    $_POST['search'] = substr(htmlspecialchars(trim($_POST['search'])), 0, 100);
    $res = mysql_query("SELECT id, placename, description from places where '%$_POST['search']%'", $db);
    if (!$res) {echo "Запрос не прошел."; exit(mysql_error());}
    $myrow = mysql_fetch_array($res);
    ?>
    .
    .
    .
    <body>
    .
    .
    <input id="inputtext" type="text" name="search" />
    .
    .
    </body>

  16. Ну наверное - "но боюсь вам это не по зубам будет, это далеко не для начинающего."! Поэтому хотелось бы попроще.

  17. Попробую упростить задачу:

    Есть список из 280 объектов и к ним есть описание. Пользователь вводит название объекта и на странице появляется определенный контент. Это не поиск по сайту, это поиск по 280 объектам.

  18. Добрый день всем.

    Необходимо написать функционал поиска по БД MySQl и вывода запрашиваемого контента на страницу. Вы не могли бы дать ссылку на пример?

  19. Нашел причину - бред бредовский, в ноутпаде++ был открыт config.php и у меня на компе был еще сайт с файлом config.php. Короче ноутпад++ по умолчанию открыл другой файл в который я и вносил изменения.

  20. а причём здесь данные под которыми вы входите в виндовс ? на мускуль свои пароли и логины

    добавил: нет не весь тока касательно [MySql]

    В том то и дело, почему он подставляет в теле ошибки мою учетку windows?

    Вот php.ini:

    [MySQL]

    ; Allow or prevent persistent links.

    mysql.allow_persistent = On

    ; Maximum number of persistent links. -1 means no limit.

    mysql.max_persistent = -1

    ; Maximum number of links (persistent + non-persistent). -1 means no limit.

    mysql.max_links = -1

    ; Default port number for mysql_connect(). If unset, mysql_connect() will use

    ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the

    ; compile-time value defined MYSQL_PORT (in that order). Win32 will only look

    ; at MYSQL_PORT.

    mysql.default_port =

    ; Default socket name for local MySQL connects. If empty, uses the built-in

    ; MySQL defaults.

    mysql.default_socket =

    ; Default host for mysql_connect() (doesn't apply in safe mode).

    mysql.default_host =

    ; Default user for mysql_connect() (doesn't apply in safe mode).

    mysql.default_user =

    ; Default password for mysql_connect() (doesn't apply in safe mode).

    ; Note that this is generally a *bad* idea to store passwords in this file.

    ; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")

    ; and reveal this password! And of course, any users with read access to this

    ; file will be able to reveal the password as well.

    mysql.default_password =

    ; Maximum time (in seconds) for connect timeout. -1 means no limit

    mysql.connect_timeout = 60

    ; Trace mode. When trace_mode is active (=On), warnings for table/index scans and

    ; SQL-Errors will be displayed.

    mysql.trace_mode = Off

  21. Это я пароль скрыл)))

    Обратите внимание, что в ошибке указана "Моя фамилия" (я её тоже скрыл) и инициалы (моя фамилия слитно с инициалами это моё доменное имя, под которым я вхожу в Windows) вместо admin:

    Warning: mysql_query() [function.mysql-query]: Access denied for user 'Моя фамилия'@'localhost' (using password: NO) in W:\home\site.ru\www\config.php on line 7

    С кодом всё в порядке, неправильный пароль. Интерсно это у вас такой пароль из звёздочег или вы его от нас так скрыли ? :)

    mysql_select_db("wtgdb",$db); - конечно в данном случае не суть, но не забываем

    А какие у вас настройки в php.ini касательно [MySQL] ?

    Весь текст файла выложить?

  22. Код покажите, так долго можно гадать куда вы там чё не так зделали

    wtgdb это БД, places это таблица.

    Это конфигурационный файл (config.php):

    <?php
    $db = mysql_connect("localhost", "admin", "******");
    mysql_select_db("wtgdb",$db)
    ?>

    HTML:

    <?php include ("config.php");
    $res = mysql_query("SELECT id, placename, description, from places where id = 1", $db);
    if (!$res) {echo "Запрос не прошел."; exit(mysql_error());}
    $myrow = mysql_fetch_array($res);
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    .
    .
    .

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy