• Отправка формы, по заполнению?

    на сколько я помню политика безопасности браузера вам не даст отпарвить форму таким способом, имитирую клик или же отправку.
    тут вам в руки примерно такой код
    getJson('/form/action/url', $('#formId').serialize());
    function getJson(actionUrl, rgData){
        $.ajax({
            url: actionUrl,
            type: 'POST',
            dataType: "json",
            timeout: 60000,
            data: rgData,
            beforeSend: function(){
                $('body').append('<div class="loader"><div class="animation"></div><div class="bg"></div></div>');
                setTimeout('', 5000);
            },
            success: function(data){
                if(typeof(data.callback) != 'undefined') {
                    var callback = data.callback; delete data.callback;
                }
                else
                    var callback = [];
    
                $.each(data, function( elementId, item ){
    
                    var selector = '#' + elementId;
    
                    switch( item[1] == undefined ? 'rewrite' : item[1] ){
                        case 'rewrite':
                            $( selector ).html( item[0] );
                            break;
    
                        case 'before':
                            $( selector ).prepend( item[0] );
                            break;
    
                        case 'after':
                            $( selector ).append( item[0] );
                            break;
    
                    }
    
                });
                $.each(callback, function(key, item){ eval(item); });
            },
            complete: function (){
                $('.loader').remove();
            },
            error: function (data){
                if(data.responseText){
                    var rgData = JSON.parse(data.responseText);
                    $('#ui-dialog-title-dialog-modal').text(rgData.error.type);
                    $('.message_error').text(rgData.error.message);
                    $('.file_error').html('<b>' + rgData.error.file + '</b> in line ' + rgData.error.line);
                    $('#dialog-modal').dialog('open');
                }
            }
        });
        return false;
    }

    на стороне серера обрабатываете данные как они пришли к вам если бы вы отправили форму стандартным способом.
    можно вернуть данные и функция их обработает.
    echo json_encode([
    ['idContainerHtml'] => ['возвращаемый контент', 'rewrite'],
    ['callback'] => [
      'alert("Форма отправлена")',
      'location.href="/redirect/url"'
    ]
    ]);

    указываете контейнер в который нужно вернуть данные (rewrite - перезапишет, aftere - добавить в конец, before - добавить в начало).
    в массив callback запихиваем весь js код который вам необходимо выполнить
    Ответ написан
    Комментировать
  • JS сложное условие в цикле?

    попробуй написать рекурсивную функцию
    перебор начинаем с верхнего уровня, проверяя чекбокс на отжатие так же проверяем есть ли у него потомки, если есть функция вызывает саму себя с передачаей в аргументах группу потомков которую следует проверить. и возвращаем булевые значения
    Ответ написан
    Комментировать
  • Как писать правильный код (PHP) с точки зрения IDE?

    в отличие от php в java всё разложено "по полочкам" - классы лежат в пакетах

    Используем пространства имен тыц
    есть операторы импорта, указывающие, откуда берётся тот или иной класс

    От туда же что и пространства имен
    Ответ написан
    Комментировать
  • Можете подсказать? Как настроить алгоритм формирования стоимости поездки?

    Лучше для городов использовать select с числовыми индексами городов в значении
    <slelect name="gocity">
       <option value="1">Кокшетау</option>
       <option value="2">Караганды</option>
    </select>

    И использовать для сравнения именно индексы, возможно у вас где-то проблема в кодировке.
    И стоит пересмотреть структуру кода. Если добавится у вас 15 городов? Портянка из if/else представьте какая будет
    Ответ написан
    4 комментария
  • Целесообразно ли хранить картинки в БД?

    саму картинку в папке, доп инфу в бд
    Ответ написан
    Комментировать
  • В каком месте лучше разместить длинный sql в проекте?

    Как вариант вынести в отдельный файл в котором будут запросы и определять каждый запрос как обычную строковую константу
    Ответ написан
  • Ajax multipart/form-data без JQuery почему не работает?

    Вот простой код на jquery, думаю адаптировать под свой проект сможете
    upload.on('change', function(){
            var data = new FormData();
            data.append('file', uploadButton[0].files[0]);
    
            $.ajax({
                url: '/url/upload.php',
                type: 'POST',
                data: data,
                processData: false,
                contentType: false,
                dataType: 'json',
                success: function(result) {
                    
                },
                error: function (result) {
                    
                }
            });
        });

    В обработчике обрабатываете все стандартно
    Ответ написан
    1 комментарий
  • Проект с нуля. Мои действия?

    Имеется желание потратить деньги и время

    беру CMS Joomla

    прикрутив соответствующий пока бесплатный шаблон

    Да, заметно какое у вас желание потратить деньги и время, не ну насчет потратить время я не спорю, вы его действительно потратите, причем в пустую.
    Ну а если по сути, начните с анализа сегмента, насколько это востребовано (к сожалению как провести анализ ни чего не могу подсказать, не моя стезя). Потом стоит подумать что вы сможете предложить лучше, в отличае от кучи других подобных сервисов. если вы все еще не наиграетесь, то следует прототипирование, дизайн и программирование.

    А так можешь и не слушать меня, все равно вариант Joomla + бесплатный шаблон безпроигрышный
    Ответ написан
    Комментировать
  • ГДе можно найти вот такой простенький слайдер?

    jQuery Carousel
    Ответ написан
    Комментировать
  • Возможно ли как "формализировать" такой процесс по сопровождению сайта?

    Если не ошибаюсь то с ним вы можете так же заключить договор подряда.
    Но тут вопрос в следующем, а согласен ли будет ваш "товарищ" отвечать в случае чего за ваши косяки, или чего хуже таскаться по судам
    Ответ написан
    Комментировать
  • Что не так с тегом ?

    Вообще стоит пересмотреть вам вашу разметку и привести к рациональному виду
    Ну уж если вам так хочется поизвращаться, то сделайте так
    <a class="href" href="#">
         <div class="logo"></div>
         <div class="block">
                 <h2>Febox - создание сайтов</h2>
                  <p>Веб-студия дизайна</p>
          </div>
          <div class="link" onclik="location.href='/path/to/res'">
               <i class="fa fa-chevron-right"></i>
          </div>
    </a>
    Ответ написан
    Комментировать
  • Правомерно ли использование видео с youtube на своём сайте?

    читай 5. Общие ограничения на использование там более менее понятно https://www.youtube.com/t/terms
    Ответ написан
    2 комментария
  • Как вывести данные из массива PHP (Virtuemart)?

    stdClass Object это экземляр класса ArrayAccess ru2.php.net/manual/ru/class.arrayaccess.php
    По этому доступ к данным идет как при обращении в классах через ->
    Ответ написан
  • Не работает simple_html_dom, а именно поиск тегов. В чем проблема?

    Для начала попробуйте вставить проверку в скрипт на доступность страницы добавить функцию
    function get_http_response_code($url) {
        $headers = get_headers($url);
        sleep(2);
        return substr($headers[0], 9, 3);
    }

    file_get_html переделать следующим образом
    function file_get_html($url, $use_include_path = false, $context = null, $offset = -1, $maxLen = -1, $lowercase = true, $forceTagsClosed = true, $target_charset = DEFAULT_TARGET_CHARSET, $stripRN = true, $defaultBRText = DEFAULT_BR_TEXT, $defaultSpanText = DEFAULT_SPAN_TEXT) {
        // We DO force the tags to be terminated.
        $dom = new SimpleHtmlDom(null, $lowercase, $forceTagsClosed, $target_charset, $stripRN, $defaultBRText, $defaultSpanText);
        // For sourceforge users: uncomment the next line and comment the retreive_url_contents line 2 lines down if it is not already done.
        $errorsCode = ['404', '301', '302', '502'];
        $responce = get_http_response_code($url);
        if (!in_array($responce, $errorsCode)) {
            $contents = file_get_contents($url, $use_include_path, $context, $offset);
        } else {
            return false;
        }
        
        // Paperg - use our own mechanism for getting the contents as we want to control the timeout.
        //$contents = retrieve_url_contents($url);
        if (empty($contents) || strlen($contents) > MAX_FILE_SIZE) {
            return false;
        }
        // The second parameter can force the selectors to all be lowercase.
        $dom->load($contents, $lowercase, $stripRN);
        return $dom;
    }

    И для начало просто проверить получает ли скрипт страницу
    require_once ('simple_html_dom.php');
    $html=file_get_html('http://ya.ru'); 
    echo $html
    Ответ написан
    Комментировать
  • Есть ли смысл отключать сборку мусора в PHP?

    А отлавливать сам будешь мусор? В принцыпе вообще не надо отрубать, да и сомневаюсь что хостер позволит сделать такое.
    Ответ написан
  • Можно ли CURL получить архив?

    Если необходимо получить просто картинку или архив то можно обойтись без curl, для получения использовав

    $url = 'http://site.ru/folder/arch.zip';
    //тут определяем расширение файла 
    //и помещяем его в переменную скажем $ext
    //тут же можно задать уникальное имя для сохроняемого файла
    //что бы не перезаписались файлы у вас на сервере переменная будет $filename
    $tmp = file_get_contents($url);
    file_put_contents('/path/to/folder/'.$filename.'.'.$ext, $tmp);
    Ответ написан
    Комментировать
  • Как вывести строки в phpquery?

    Как вариант сделать еще одну таблицу в ячейке, в которую вы добавляете контент
    Ответ написан
    Комментировать
  • Как через php уменьшить картинку в imagemagick?

    Делал у себя в одном парсере так
    $imgUrl = 'http://www.site.ru/img/path/img.jpg';
    $i = file_get_contents($imgUrl);
    if(strpos($imgUrl, '.jpg'))      $ext = '.jpg';
    elseif(strpos($imgUrl, '.png'))  $ext = '.png';
    elseif(strpos($imgUrl, '.jpeg')) $ext = '.png';
    elseif(strpos($imgUrl, '.gif'))  $ext = '.gif';
    $filename = md5(rand(10000, 99999999)) . $ext;
    file_put_contents(CRON_DIR . 'parse_data/img/' . $filename, $i);
    $rgImages = upload_images('parse_data/img/' . $filename, $ext)
    unlink(CRON_DIR . 'parse_data/img/' . $filename);
    
    function upload_images($img, $ext){
            $folder = '/UPLOAD/'.date('Y/m/d') . '/';
            if(!is_dir(ROOT_DIR.$folder)){
                mkdir(ROOT_DIR.$folder, 0777, true);
            }
            
            $rgFiles = array();
            
            $orig = $folder.md5(time().mt_rand(0,999999)).$ext; 
            
            $img = file_get_contents(CRON_DIR.$img);
            file_put_contents(ROOT_DIR.$orig, $img);
            chmod(ROOT_DIR.$orig, 0777); 
            
            $rgFiles['sys_thumb']     = make_resize_image(ROOT_DIR.$orig, $ext, 75, 75);
            $rgFiles['preview']       = make_resize_image(ROOT_DIR.$orig, $ext, 800, 600);
            $rgFiles['thumb']         = make_resize_image(ROOT_DIR.$orig, $ext, 200, 200, 0);
            $rgFiles['thumb2']        = make_resize_image(ROOT_DIR.$orig, $ext, 364, 364);
            $rgFiles['original']      = $orig;
            
            return serialize($rgFiles);
        }
        
    function make_resize_image($orig_filename, $ext, $w1, $h1, $crop = 1){
            
            $dir = '/UPLOAD/'.date('Y/m/d') . '/';
            if(!is_dir(ROOT_DIR.$dir)){
                mkdir(ROOT_DIR.$dir, 0777, true);
            }
            
            do {
                $filename = md5(time().mt_rand(0,999999)).$ext; 
            } while (file_exists(ROOT_DIR.$dir.$filename));
            
            $file = $dir.$filename;
            
            list($w0,$h0)=getimagesize($orig_filename);
        	if($w1!=0 && $h1!=0 && !$crop){
            	$p0=$w0/$h0;
            	$p1=$w1/$h1;
            				
            	if($p0>$p1)$h1=0;
            	else $w1=0;			
        	}
            
        	if(class_exists('Imagick')){
        		$thumb = new Imagick();
        		$thumb->readImage($orig_filename);
        		if($crop) $thumb->cropThumbnailImage($w1, $h1);
        		else $thumb->thumbnailImage($w1, $h1);
        		$thumb->writeImage(ROOT_DIR.$file);
        		$thumb->destroy();
        	}  
        	 
        	chmod(ROOT_DIR.$file, 0777);
        	
        	return $file;
        }
    Ответ написан
    Комментировать
  • Как настроить 404 в htaccess для ВСЕХ ссылок сайта кроме двух файлов?

    В htaccess
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php [L]

    Создаем файл index.php в нем
    header('HTTP/1.x 404 Not Found');
    exit;

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

    Не совсем понятно, но думаю должно быть у вас что-то такое
    $rgFilters = $_POST['filters'];
    $rgSql = [];
    foreach($rgFilters as $k=>$v){
        switch($k){
            case 'type':
                $rgSql[] = 'type_id = ' . $v;
                break;
                
            case 'country':
                $rgSql[] = 'country_id = ' . $v;
                break;
                
            case 'price_from':
                $rgSql[] = 'price > ' . $v;
                break;
            
            case 'price_to':
                $rgSql[] = 'price > ' . $v;
                break;
            
            case 'manufacturer':
                $rgSql[] = 'manufacturer_id = ' .$v;
                break;
        }
    }
    
    /**
     * Для учета всех параметров
     */
    $query = 'SELECT * FROM `products` ' . implode(' AND ', $rgSql);
        
    /**
     * Для получение товаров с совпадением хотябы одного параметра
     * Конечно бредовая ситуация, ну а вдруг
     */
    $query = 'SELECT * FROM `products` ' . implode(' OR ', $rgSql);


    При использовании какой либо ORM читайте доки как строить запросы.
    Ответ написан
    Комментировать