PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (38): В начало « ... 6 7 8 9 [10] 11 12 13 14 ... » В конец

> Найдено сообщений: 561
kuller Отправлено: 30 Апреля, 2016 - 10:23:08 • Тема: потдомен или что это • Форум: Вопросы новичков

Ответов: 4
Просмотров: 189
VadiKO пишет:
Я не думаю, что дело только в смене адресной строки.


когда видишь допустим сайт с адресом своего города, согласись сайт как та родней становится что ли... Закатив глазки

IGORtrue пишет:
Я помню мы в htaccess привязывали поддомен к странице основного домена. Вот.


это как? можно подробней
kuller Отправлено: 29 Апреля, 2016 - 20:54:17 • Тема: потдомен или что это • Форум: Вопросы новичков

Ответов: 4
Просмотров: 189
Давно замечал на сайтах когда выбирается город то адрес меняется на такой msk.site.ru это если выбрали Москва. Если выбирают другой город тогда msk меняется на название города.
Особо не задавался этим вопросом, а сейчас стало интересно, как это работает? не создают же копии сайтов на потдоменах...
kuller Отправлено: 29 Апреля, 2016 - 18:50:53 • Тема: Совсем не могу понять в чём дело, помогите! • Форум: Вопросы новичков

Ответов: 3
Просмотров: 141
попробуй так сделать $dydy[] .= $row2; (точка)
kuller Отправлено: 29 Апреля, 2016 - 18:47:39 • Тема: Скрипт определения рабочего времени • Форум: Вопросы новичков

Ответов: 9
Просмотров: 721
TheOFF пишет:
От чего отталкиваться? Например я ввожу в форму 29.04.15 20:00. На основании чего скрипт вычислит номер бригады?


во первых записи сохрани в базу. после уже делай форму куда будешь вводить дату. После делаешь поиск по базе. Примерно так.

CODE (javascript):
скопировать код в буфер обмена
  1. SELECT * FROM brigada WHERE data='$data' LIMIT 1


будет искать точное совпадение. Формат даты должен быть Y-m-d
kuller Отправлено: 29 Апреля, 2016 - 18:38:49 • Тема: Скрипт определения рабочего времени • Форум: Вопросы новичков

Ответов: 9
Просмотров: 721
if, date больше не чего не надо.
kuller Отправлено: 29 Апреля, 2016 - 16:54:52 • Тема: Работа с файлами и массивами • Форум: Вопросы новичков

Ответов: 8
Просмотров: 369
Pinkya_rabbit пишет:
kuller пишет:
а если js отключить, и все нет проверки )))

Так а зачем пользователь будет отключать если это хинты для пользователя, а не обработчик? Я так понял тут просто нужны подсказки, что пользователь забыл, а что нет.


погрешность искать в php. мало ли js не пропускает что та, а это может повлиять на уязвимость. Вообще не зависимо какая там валидация на js, любые приходящие дынные должны проверяться на стороне сервера, а не клиента.
kuller Отправлено: 29 Апреля, 2016 - 00:48:26 • Тема: отображение миниатюр • Форум: JavaScript & VBScript

Ответов: 5
Просмотров: 1088
похоже нашел в чем проблема.... но вот додумать не могу. сделал две простые именованные функции.

часть кода до проблемного участка
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function loadingPreview()
  3. {
  4.         var previewWidth = 70, // ширина превью
  5.         previewHeight = 70, // высота превью
  6.         count = 0, // включить максимальное кол-во загружаемых фото. 0 - нет.1 - да
  7.         total = 5, // колько фото разрешено загружать
  8.         maxFileSize = 11 * 1024 * 1024, // (байт) Максимальный размер файла (2мб)
  9.         selectedFiles = {},// объект, в котором будут храниться выбранные файлы
  10.         queue = [],
  11.         image = new Image(),
  12.         imgLoadHandler,
  13.         isProcessing = false,
  14.         errorMsg, // сообщение об ошибке при валидации файла
  15.         previewPhotoContainer = document.querySelector('#preview-photo'); // контейнер, в котором будут отображаться превью
  16.        
  17. // Когда пользователь выбрал файлы, обрабатываем их
  18. $('input[type=file][id=photo]').on('change', function() {
  19.  


изменил change на click в результате код будет запускаться только по второму клику (вызову) соответственно предпросмотр будет показан по второму клику.
Если сделать так
по первому клику выбираем фото
при втором клике, первое фото отобразится, и выбираем второе фото.

после отправляем форму, в результате получаем. первое фото не загрузилось, второе загрузилось. Что здесь изменить не понимаю Разнесу! Я никому не нужен Плач
kuller Отправлено: 28 Апреля, 2016 - 20:15:39 • Тема: Работа с файлами и массивами • Форум: Вопросы новичков

Ответов: 8
Просмотров: 369
Pinkya_rabbit пишет:
валидатор форм на JS какой-то, например на JQuery


а если js отключить, и все нет проверки )))

условие if проверит заполнено поле или нет.

PHP:
скопировать код в буфер обмена
  1.  
  2. if(empty($_POST['sename'])) exit('нет фамилии');
  3.  


и так далее
kuller Отправлено: 28 Апреля, 2016 - 15:24:26 • Тема: отображение миниатюр • Форум: JavaScript & VBScript

Ответов: 5
Просмотров: 1088
IllusionMH пишет:
kuller, это вообще в 1 обработчике события. смотрели что в objects.photo? там точно File/Blob?


сейчас посмотрел... и вообще не фига не понимаю. Не зависимо работает предпросмотрп или нет alert(objects.photo); показал undefined

попробовал сделать так сейчас. Результат опять не изменился заместо objects.photo передать objects['loadingPreview'] тоже в одном случае грузит, в другом нет.

может быть ли проблема зависит в том что функция loadingPreview срабатывает только при первом вызове, а при втором уже не работает? сделал такой вывод т.к. если в инпут писать objects3['loadingPreview'](); - ошибка т.к. objects3 нет. и файл грузит, а вот так objects['loadingPreview'](); нет.
kuller Отправлено: 28 Апреля, 2016 - 14:17:41 • Тема: отображение миниатюр • Форум: JavaScript & VBScript

Ответов: 5
Просмотров: 1088
не понимаю не чего Огорчение Огорчение Огорчение

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

так вот не грузит файл
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. test = function loadingPreview()
  3. {
  4.  // код
  5. }
  6.  

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <input type="file" multiple="true" id="photo" name="photo[]" class="f_input" onclick="window['test']();">
  3.  


если сделать так
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. test = { loadingPreview: function()
  3. {
  4.  
  5. }}
  6.  


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

CODE (html):
скопировать код в буфер обмена
  1. <input type="file" multiple="true" id="photo" name="photo[]" class="f_input" onclick="test['loadingPreview']();">


тогда опять идентичный результат. прет просмотр работает, файл не грузить Огорчение как же сделать это?
kuller Отправлено: 28 Апреля, 2016 - 10:50:06 • Тема: Почему кодировка в html письме неверная • Форум: Вопросы новичков

Ответов: 3
Просмотров: 273
советую класс php_LibMail довольно давно им пользуюсь, и очень нравится.
Описание и скачать можно по ссылке http://webi[dot]ru/webi_files/php_libmail[dot]html
kuller Отправлено: 28 Апреля, 2016 - 10:36:34 • Тема: отображение миниатюр • Форум: JavaScript & VBScript

Ответов: 5
Просмотров: 1088
хотя не что не разобрался Огорчение

есть функция которая при выборе фото делает привю

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. var objects = function loadingPreview()
  3. {
  4. var previewWidth = 70, // ширина превью
  5.         previewHeight = 70, // высота превью
  6.         count = 0, // включить максимальное кол-во загружаемых фото. 0 - нет.1 - да
  7.         total = 5, // колько фото разрешено загружать
  8.         maxFileSize = 11 * 1024 * 1024, // (байт) Максимальный размер файла (2мб)
  9.         selectedFiles = {},// объект, в котором будут храниться выбранные файлы
  10.         queue = [],
  11.         image = new Image(),
  12.         imgLoadHandler,
  13.         isProcessing = false,
  14.         errorMsg, // сообщение об ошибке при валидации файла
  15.         previewPhotoContainer = document.querySelector('#preview-photo'); // контейнер, в котором будут отображаться превью
  16.        
  17. // Когда пользователь выбрал файлы, обрабатываем их
  18. $('input[type=file][id=photo]').on('change', function() {
  19.         var newFiles = $(this)[0].files; // массив с выбранными файлами
  20.        
  21.         for(var i = 0; i < newFiles.length; i++)
  22.         {
  23.                 if(count == 1)
  24.                 {
  25.                         if(Object.keys(selectedFiles).length >= total)
  26.                         {
  27.                                 soundError();
  28.                                 $('#error').fadeIn(1000);
  29.                                 $("#error").html('<div style="color: #fff; font: 17px roboto; margin-bottom: 15px; text-align: center;">Загружать можно максимом 5 фотографий</div>');
  30.                                 error();
  31.                                 continue;
  32.                         }
  33.                 }
  34.                
  35.                 var file = newFiles[i];
  36.                
  37.                 // В качестве "ключей" в объекте selectedFiles используем названия файлов
  38.                 // чтобы пользователь не мог добавлять один и тот же файл
  39.                 // Если файл с текущим названием уже существует в массиве, переходим к следующему файлу
  40.                 if(selectedFiles[file.name] != undefined) continue;
  41.                
  42.                 // Валидация файлов (проверяем формат и размер)
  43.                 if(errorMsg = validateFile(file))
  44.                 {
  45.                         soundError();
  46.                         $('#error').fadeIn(1000);
  47.                         $("#error").html('<div style="color: #fff; font: 17px roboto; margin-bottom: 15px; text-align: center;">'+errorMsg+'</div>');
  48.                         error();
  49.                         return;
  50.                 }
  51.  
  52.                 // Добавляем файл в объект selectedFiles
  53.                 selectedFiles[file.name] = file;
  54.                 queue.push(file);
  55.         }
  56.  
  57.         $(this).val('');
  58.         processQueue(); // запускаем процесс создания миниатюр
  59. });
  60.  
  61. // Валидация выбранного файла (формат, размер)
  62. var validateFile = function(file)
  63. {
  64.         if(!file.type.match(/image\/(jpeg|jpg|png|gif)/))
  65.         {
  66.                 return 'Фотография должна быть в формате jpg, png или gif';
  67.         }
  68.  
  69.         if(file.size > maxFileSize)
  70.         {
  71.                 return 'Размер фотографии не должен превышать 10 Мб';
  72.         }
  73. };
  74.  
  75. var listen = function(element, event, fn)
  76. {
  77.         return element.addEventListener(event, fn, false);
  78. };
  79.  
  80. // Создание миниатюры
  81. var processQueue = function()
  82. {
  83.         // Миниатюры будут создаваться поочередно
  84.         // чтобы в один момент времени не происходило создание нескольких миниатюр
  85.         // проверяем запущен ли процесс
  86.         if (isProcessing) { return; }
  87.  
  88.         // Если файлы в очереди закончились, завершаем процесс
  89.         if (queue.length == 0) {
  90.                 isProcessing = false;
  91.                 return;
  92.         }
  93.  
  94.         isProcessing = true;
  95.  
  96.         var file = queue.pop(); // Берем один файл из очереди
  97.        
  98.         var li = document.createElement('LI');
  99.         var span = document.createElement('SPAN');
  100.         var spanDel = document.createElement('SPAN');
  101.         var canvas = document.createElement('CANVAS');
  102.         var ctx = canvas.getContext('2d');
  103.        
  104.         canvas.setAttribute('width', previewWidth);
  105.         canvas.setAttribute('height', previewHeight);
  106.        
  107.         span.setAttribute('class', 'img');
  108.         spanDel.setAttribute('class', 'fa fa-ban delete');
  109.         spanDel.innerHTML = '';
  110.  
  111.         li.appendChild(span);
  112.         li.appendChild(spanDel);
  113.         li.setAttribute('data-id', file.name);
  114.  
  115.         image.removeEventListener('load', imgLoadHandler, false);
  116.  
  117.         // создаем миниатюру
  118.         imgLoadHandler = function()
  119.         {
  120.                 ctx.drawImage(image, 0, 0, previewWidth, previewHeight);
  121.                 URL.revokeObjectURL(image.src);
  122.                 span.appendChild(canvas);
  123.  
  124.                 isProcessing = false;
  125.                 setTimeout(processQueue, 200); // запускаем процесс создания миниатюры для следующего изображения
  126.         };
  127.  
  128.         // Выводим миниатюру в контейнере previewPhotoContainer
  129.         previewPhotoContainer.appendChild(li);
  130.         listen(image, 'load', imgLoadHandler);
  131.         image.src = URL.createObjectURL(file);
  132.        
  133.         // Сохраняем содержимое оригинального файла в base64 в отдельном поле формы
  134.         // чтобы при отправке формы файл был передан на сервер
  135.         var fr = new FileReader();
  136.         fr.readAsDataURL(file);
  137.         fr.onload = (function (file) {
  138.                 return function (e) {
  139.                         $('#preview-photo').append(
  140.                                         '<input type="hidden" name="photos[]" value="' + e.target.result + '" data-id="' + file.name+ '">'
  141.                         );
  142.                 }
  143.         }) (file);
  144. };
  145.  
  146. // Удаление фотографии
  147. $(document).on('click', '#preview-photo li span.delete', function()
  148. {
  149.         var fileId = $(this).parents('li').attr('data-id');
  150.  
  151.         if (selectedFiles[fileId] != undefined) delete selectedFiles[fileId]; // Удаляем файл из объекта selectedFiles
  152.         $(this).parents('li').remove(); // Удаляем превью
  153.         $('input[name^=photo][data-id="' + fileId + '"]').remove(); // Удаляем поле с содержимым файла
  154.  
  155. });
  156. }
  157.  


эта функция занимается отправкой формы
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function addObj(form)
  3. {
  4.         var formData = new FormData(form);
  5.         var photo = $('#photo').val();
  6.  
  7.         formData.append('name', $('#name').val());
  8.         formData.append('photo', objects.photo);
  9.        
  10.         ShowLoading('');
  11.         $.ajax({
  12.                 url: "/functions.php",
  13.                 type: "POST",
  14.                 dataType : "json",
  15.                 cache: false,
  16.                 contentType: false,
  17.                 processData: false,                    
  18.                 data: formData, //указываем что отправляем
  19.                 success: function(data)
  20.                 {
  21.                         HideLoading(data);
  22.                         switch(data.ok)
  23.                         {
  24.                                 case 'Y':
  25.                                         $("#IdForm").fadeOut(900);
  26.                                
  27.                                         setTimeout(function()
  28.                                         {
  29.                                                 $(".ResAddObj").html('<div style="font: 23px roboto; text-align: center;">Ваше объявление успешно добавлено. Вам перезвонят ближайшее время!</div>');
  30.                                                 scroll(0,0);
  31.                                         }, 1000);
  32.                                 break;
  33.                                
  34.                                 case '1':
  35.                                         soundError();
  36.                                         $('#error').fadeIn(1000);
  37.                                         $("#error").html('<div style="color: #fff; font: 17px roboto; margin-bottom: 15px; text-align: center;">Некорректно указано имя</div>');
  38.                                         error();
  39.                                 break;
  40.                                
  41.                                 /* вообщем далее отображение ошибок */
  42.                         }
  43.                 }
  44.         });
  45.        
  46.         return false;
  47. }
  48.  


В каком виде сейчас выложен код не создаются привю изображений после выбора. Пробовал делать из двух функций объекты. В этом случае превю создаются, но не получается отправить файл. (пример кода вложении)
Помогите пожалуйста сделать.... времени нету уже разбираться с этим, да и не знаю уже в какую сторону копать
kuller Отправлено: 27 Апреля, 2016 - 05:06:29 • Тема: отображение миниатюр • Форум: JavaScript & VBScript

Ответов: 5
Просмотров: 1088
разобрался!
kuller Отправлено: 27 Апреля, 2016 - 04:35:53 • Тема: Как хранить 32 поля • Форум: Вопросы новичков

Ответов: 32
Просмотров: 1928
pantela пишет:
В таблице в поле text сохраняю
{
"comfort_1":"1",
"comfort_2":"1",
"comfort_3":"0",
"comfort_4":"1",
"comfort_5":"0",
"comfort_6":"0",
"comfort_7":"1",
"comfort_8":"1",
"comfort_9":"0",
"comfort_10":"1",
"comfort_11":"0",
"comfort_12":"0",
"comfort_13":"1",
"comfort_14":"1",
"comfort_15":"0",
"comfort_16":"1",
"comfort_17":"0",
"comfort_18":"0",
"comfort_19":"1",
"comfort_20":"1",
"comfort_21":"0",
"comfort_22":"1",
"comfort_23":"0",
"comfort_24":"0",
"comfort_25":"1",
"comfort_26":"1",
"comfort_27":"0",
"comfort_28":"1",
"comfort_29":"0",
"comfort_30":"0",
"comfort_31":"1",
"comfort_32":"0"
}


тогда уже проще вообще это в файле хранить Улыбка и таскать от туда дынные. Меньше нагрузки на сервер MySQL.
kuller Отправлено: 26 Апреля, 2016 - 23:32:53 • Тема: Вывести номер строки из txt файла • Форум: Вопросы новичков

Ответов: 1
Просмотров: 191
все нормально... скорей всего данный код в цыкл засунули...

Страниц (38): В начало « ... 6 7 8 9 [10] 11 12 13 14 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB