PHP.SU

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

Страниц (7): [1] 2 3 4 5 6 7 »

> Найдено сообщений: 91
Russer Отправлено: 22 Июня, 2017 - 18:10:39 • Тема: Нажатие кнопкки сабмит в форме обновляет страницу или только внутри формы срабатывает? • Форум: Вопросы новичков

Ответов: 14
Просмотров: 731
Кстати ,есть и второй вариант если хотите все одной страницей сделать , перенести условие
PHP:
скопировать код в буфер обмена
  1.        define('GW_UPLOADPATH','image/');
  2.    if(isset($_POST['submit6'])){
  3.        $art= $_GET['article'];
  4.        $pdffile=$_FILES['userfile']['name'];
  5.        $target=GW_UPLOADPATH.$art.'/'.$pdffile;
  6.        if(move_uploaded_file($_FILES['userfile']['tmp_name'], $target)){
  7.                         $querypdf="UPDATE nomenclature SET time_upload_pdf=NOW(), pdf='$pdffile' WHERE nom_article='$art'";
  8.                         $upload=mysqli_query($dbc, $querypdf) or die('error');
  9.                 }
  10.    }
выше
PHP:
скопировать код в буфер обмена
  1.  
  2.        $dir= implode('<br>', preg_filter('/.+\.pdf$/i', "$0", scandir($path)));
  3.        $pdf= $filename.'/'.$dir;
тем самым вы вначале переместите файл , а уже затем проверите его существование.
Russer Отправлено: 22 Июня, 2017 - 15:30:41 • Тема: Нажатие кнопкки сабмит в форме обновляет страницу или только внутри формы срабатывает? • Форум: Вопросы новичков

Ответов: 14
Просмотров: 731
zapatronen пишет:
Если в папке нету pdf файла, то выводи форму, которая позволяет загрузить pdf. После загрузки выводин pdf для просмотра. Но не могу понять почему $dir после заливки не меняется. Файл загружается, но все равно $dir==NULL
Если обновить страницу, то срабатывает else и пдф выводится. Должно же сразу все работать как только я нажал сабмит, страница же обновляется, почему $dir обновлятся только со второго обновления страницы?


CODE (htmlphp):
скопировать код в буфер обмена
  1. <div>
  2.     <?
  3.  
  4. //сканируем папку на наличие пдф
  5.  
  6.        $dir= implode('<br>', preg_filter('/.+\.pdf$/i', "$0", scandir($path)));
  7.        $pdf= $filename.'/'.$dir;
  8.        var_dump($dir);
  9.  
  10. // если файлов нету, то открываем форму для записи файла в папку сайта
  11.  
  12.    if($dir==NULL){
  13.        $name=$row['nom_name'];
  14.        
  15.    ?>
  16. <form  enctype="multipart/form-data" method="post">
  17. <input type="hidden" name="MAX_FILE_SIZE" value="100000">
  18.     <?
  19.        echo "Datasheeе для $name отсутствует. <br>Загрузите Datasheet и получите скидку 5% на всю корзину<br><input type='file' name='userfile'> <input type='submit' name='submit6'>";
  20.        define('GW_UPLOADPATH','image/');
  21.    if(isset($_POST['submit6'])){
  22.        $art= $_GET['article'];
  23.        $pdffile=$_FILES['userfile']['name'];
  24.        $target=GW_UPLOADPATH.$art.'/'.$pdffile;
  25.        if(move_uploaded_file($_FILES['userfile']['tmp_name'], $target)){
  26.                         $querypdf="UPDATE nomenclature SET time_upload_pdf=NOW(), pdf='$pdffile' WHERE nom_article='$art'";
  27.                         $upload=mysqli_query($dbc, $querypdf) or die('error');
  28.                 }
  29.    }
  30.    
  31.    ?>
  32. </form>
  33.         <?
  34. //иначе если в папке пдф есть, то выводим пдф для чтения на страницу
  35.         }else{
  36.         ?>
  37. <a href="<?=$pdf?>"><img src="/image/pdf.png">Datasheet для <?=$row['nom_name']?></a>
  38.     <?
  39.        }
  40.    ?>
  41. </div>

На самом деле, все логично , при первом нажатие на submit, вы помещаете файл во временное хранилище. А при повторной отправке формы уже перемещаете файл в папку. Вам необходимо создать страницу обработчик например script.php, в который отправлять данные о файле и перемещать его, а в конце по средствам header перенаправлять пользователей на исходную страницу. Если не понятно о чем я говорю , могу привести пример кода.
Russer Отправлено: 07 Июня, 2017 - 08:10:02 • Тема: Создания документа при помощи PHP Excel • Форум: Хранение данных, их вывод и обработка

Ответов: 2
Просмотров: 733
Sail пишет:
Russer, для чего указываете адрес (индекс) ячейки там, где требуется название колонки?

Спасибо большое, даже внимание не обратил , не понимаю только одного, как до 100 строк все нормально работало Не понял
Russer Отправлено: 06 Июня, 2017 - 16:05:32 • Тема: Создания документа при помощи PHP Excel • Форум: Хранение данных, их вывод и обработка

Ответов: 2
Просмотров: 733
Здравствуйте, вывожу данные в Excel при помощи PHP Excel. После 100 строки возникает следующая ошибка:
getColumnDimension('A100') Column string index can not be longer than 3 characters.
PHP:
скопировать код в буфер обмена
  1. $active_sheet->getColumnDimension($col.''.$row)->setAutoSize(true);

Как я понимаю нужна другая функция аналог setCellValueByColumnAndRow , чтобы можно было обращаться по индексу 100 , а не по строке. Может кто то сталкивался с данной проблемой?
Russer Отправлено: 19 Июля, 2016 - 13:04:28 • Тема: Поиск по параметрам в БД • Форум: Вопросы новичков

Ответов: 4
Просмотров: 292
Используйте оператор or.
Russer Отправлено: 03 Июля, 2016 - 21:42:22 • Тема: Не затрагивать блок при обновлении страницы • Форум: Вопросы новичков

Ответов: 1
Просмотров: 126
Это реализовывается при помощи ajax(Динамическая загрузка страниц).
Russer Отправлено: 27 Июня, 2016 - 12:17:11 • Тема: KCFINDER • Форум: Программирование на PHP

Ответов: 11
Просмотров: 1823
puncake пишет:
Доброго всем здоровья! После загрузки сайта на сервер перестал работать файловый менеджер. При клике по Выбрать на сервере вместо картинок в окошке менеджера PHP-код:

<?php
/** This file is part of KCFinder project
*
* @desc Browser calling script
* @package KCFinder
* @version 3.12
* @author Pavel Tzonkov <sunhater@sunhater.com>
* @copyright 2010-2014 KCFinder Project
* @license http://opensource[dot]org/licenses/GPL-3[dot]0 GPLv3
* @license http://opensource[dot]or[dot][dot][dot]censes/LGPL-3[dot]0 LGPLv3
* @link http://kcfinder[dot]sunhater[dot]com
*/
require "core/bootstrap.php";
$browser = "kcfinder\\browser"; // To execute core/bootstrap.php on older
$browser = new $browser(); // PHP versions (even PHP 4)
$browser->action();
?>

Заметила такое различие: на локалке в окошке файлового менеджера в поле URL строится такой путь к картинке: /app/webroot/js/kcfinder/upload/ images/13.jpg
А на сервере путь строится короткий: /images/13.jpg.

Может, здесь кроется отгадка? Сайт на CakePHP. Помогите, пожалуйста.

Скорее всего на хостинге не включен модуль php. Посмотрите в настройках.
Russer Отправлено: 17 Июня, 2016 - 14:28:36 • Тема: Формирование строки из многомерного массива • Форум: Хранение данных, их вывод и обработка

Ответов: 1
Просмотров: 659
Здравствуйте! Нужна помощь не могу сообразить как правильно вывести массив.
Беру данные из mysql
Спойлер (Отобразить)

Привел их через :
PHP:
скопировать код в буфер обмена
  1. $telemetry[$row[date]][$row[time]][$row[sensor_id]]=$row[sensor_value];

К такому виду:
CODE (htmlphp):
скопировать код в буфер обмена
  1. array(1) { ["2016-06-17"]=> array(4) { ["13:00"]=> array(2) { [0]=> string(4) "42.8" [1]=> string(5) "64.77" } ["13:30"]=> array(2) { [0]=> string(5) "42.89" [1]=> string(5) "68.68" } ["14:00"]=> array(2) { [0]=> string(5) "43.19" [1]=> string(5) "64.24" } ["14:30"]=> array(2) { [0]=> string(5) "43.77" [1]=> string(5) "63.89" } } }

И дальше запутался.
Необходимо из данных создать строку для Google Charts типа:
CODE (html):
скопировать код в буфер обмена
  1.  var data = google.visualization.arrayToDataTable([
  2.           ['Время', 'Датчик 1', 'ДатчикN'],
  3.           ['$row['time1']',  $row['sensor_id1']['sensor_value1'],      $row['sensor_idN']['sensor_value1']],
  4.           ['$row['time2']',   $row['sensor_id1']['sensor_value2'],      $row['sensor_idN']['sensor_value']],
  5.           ['$row['time3']',   $row['sensor_id1']['sensor_value3'],      $row['sensor_idN']['sensor_value']],
  6.           ['$row['timeN']',   $row['sensor_id1']['sensor_valueN'],      $row['sensor_idN']['sensor_valueN']],
  7.         ]);

Прошу подсказать возможно ли это реализовать ?Или дать пример сортировки и вывода подобного массива!
Russer Отправлено: 26 Мая, 2016 - 22:51:01 • Тема: Безопаснcоть HTTP • Форум: HTTP и PHP

Ответов: 5
Просмотров: 1170
Viper пишет:
Russer пишет:
Первый вопрос надежен ли такой метод?
нет.
Russer пишет:
Второй вопрос каким способом можно выполнить logout из HTTP?(на данный момент пытался через header, но пока не выходить)
http://stackoverflow[dot]com/a/233551
Russer пишет:
Третий вопрос можно ли защитить HTTP аутентификацию от брута?
да. Как минимум капча + лимитировать кол-во попыток + бан на время.
(Добавление)
Russer пишет:
Это тестовый проект для своих нужд , и соответственно не хотелось бы вкладывать большие деньги.
если уж речь зашла.
Можно и бесплатно на 2 года на 5 доменов https://buy[dot]wosign[dot]com/free/ это если не заморачиваться с гемороем let's encrypt.
Russer пишет:
Ну и плюс SSL защитить только от брута
нет. SSL дает гарантию от перехвата данных ибо шифровано, но нужно не забывать про mitm(man-in-the-middle).

Спасибо большое!
Можно по первому вопросу немножко подробнее , что кроме отсутствия ssl не безопасно в таком методе?
И по третьему авторизируюсь стандартным apache , всплывающие окно логин пароль , разве можно туда добавить капчу? Лимитировать лучше стандартным php, например записывать количество попыток в сессию?
Russer Отправлено: 26 Мая, 2016 - 14:55:05 • Тема: Безопаснcоть HTTP • Форум: HTTP и PHP

Ответов: 5
Просмотров: 1170
kuller пишет:
не проще ли ssl поставить...

Это тестовый проект для своих нужд , и соответственно не хотелось бы вкладывать большие деньги.Ну и плюс SSL защитить только от брута, как я понимаю?
Russer Отправлено: 26 Мая, 2016 - 14:07:50 • Тема: Безопаснcоть HTTP • Форум: HTTP и PHP

Ответов: 5
Просмотров: 1170
Здравствуйте!
В моем проекте (Вывод данных с контроллера по http) требуется достаточно хороший уровень безопасности. По скольку количество пользователей не такое уж и большое, решил сделать авторизацию по средствам стандартного http. Пока что пробую Basic метод , потом будет Digest . Смысл очень прост : для отдельного пользователя создается пара логин:пароль , в директории находящейся выше web-сервера лежат ini файлы(настройки подключения к контроллеру), названия файла = логину в http. Связь скрипта ,подгружающего настройки, и HTTP авторизации ведется через переменную $_SERVER[PHP_AUTH_USER].
Первый вопрос надежен ли такой метод?
Второй вопрос каким способом можно выполнить logout из HTTP?(на данный момент пытался через header, но пока не выходить)
Третий вопрос можно ли защитить HTTP аутентификацию от брута?
Заранее спасибо!
Russer Отправлено: 24 Мая, 2016 - 06:55:52 • Тема: Json и curl • Форум: Вопросы новичков

Ответов: 2
Просмотров: 283
Viper пишет:
json_decode()

Спасибо!
Russer Отправлено: 23 Мая, 2016 - 15:36:53 • Тема: Json и curl • Форум: Вопросы новичков

Ответов: 2
Просмотров: 283
Подскажите , можно ли получить json данные по средства curl ?
На данный момент у меня получается только string , конечно можно разобрать строку в массив , но хотелось бы получить сразу json данные!
PHP:
скопировать код в буфер обмена
  1. $url = 'http://localhost:8080/data.cgx?cmd={"Command":"GetStateAndEvents"}';  
  2. $ch = curl_init();
  3. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  4. curl_setopt($ch, CURLOPT_URL, $url);
  5. curl_setopt($ch, CURLOPT_USERPWD, "test:test");
  6. $result = curl_exec($ch);
  7. var_dump($result);

Ответ:
Спойлер (Отобразить)
Russer Отправлено: 12 Мая, 2016 - 07:06:44 • Тема: Определение уникальных данных мобильного устройства • Форум: Хранение данных, их вывод и обработка

Ответов: 4
Просмотров: 1981
Мелкий пишет:
Russer пишет:
распознавал устройство как определенное за учетной записью

На сколько помню обсуждения этого кейса коллегами, уникально идентифицировать устройство невозможно даже непосредственно из android приложения.

ЕМНИП, imei - это GSM сети, т.е. привет планшетам вообще без GSM модуля.
Штатный DeviceId - не уникален (данные с одного реального приложения, разные клиенты, идентичные id).
Уникален рекламный id гугла, но он далеко не у всех есть.

Из PHP - нет, ничего узнать не выйдет. Что-то должно присылать само приложение.

У меня не клиента ориентированный проект , поэтому планшеты и не нужны. Спасибо, самое главное для себя узнал!
Russer Отправлено: 11 Мая, 2016 - 15:21:10 • Тема: Определение уникальных данных мобильного устройства • Форум: Хранение данных, их вывод и обработка

Ответов: 4
Просмотров: 1981
Смысл в том , что я плохо знаю android язык. По этому хотел реализовать достаточно простой подход:
Приложения заходило бы на PHP сервер , где скрипт распознавал устройство как определенное за учетной записью , и генерировал бы ключ,который заносился в базу, и отдавал бы его приложению. Меня интересует именно возможность через PHP идентифицировать мобильное устройство. Понятно что можно через android приложение считать imei , после чего отправить его например через POST на сервер. Но тогда, если я узнаю Imei владельца телефона , что делается в течение минуты, то я и из браузера смогу узнать код подтверждения.

Страниц (7): [1] 2 3 4 5 6 7 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB