PHP.SU

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

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

> Найдено сообщений: 41
ЧИМ Отправлено: 12 Сентября, 2017 - 11:07:51 • Тема: Как узнать есть ли определённые права у пользователя? • Форум: SQL и Архитектура БД

Ответов: 0
Просмотров: 134
Мучаюсь над проблемой получения информации о том есть ли права у пользователя на определённые команды к определённым таблицам. Например есть пользователь user и у него есть права на SELECT в таблице table1, а так же есть права на SELECT, DELETE в таблице table2. Как определить есть ли у пользователя права для удаления конкретно для таблицы table2?
Если использовать команду: "SHOW GRANTS FOR user; " то выводятся все привилегии пользователя, что в свою очередь трудно автоматически обработать(точнее я не представляю как из меняющегося вывода выбрать DELETE который будет относиться именно к таблице table2 и не перепутать с другими таблицами.)
Если использовать команду: "SELECT * FROM information_schema.user_privileges;" то выводятся не все привилегии(в моём случае выводится только одна привилегия "USAGE"),
Если использовать команду "USE information_schema; SELECT TABLE_NAME, PRIVILEGES FROM COLUMNS;" то привилегии выводятся только те, которые совпадают со списком "select,insert,update,references" т.е. в моём случае DELETE здесь нет.
Неужели никак нельзя узнать есть ли определённые права у пользователя?
ЧИМ Отправлено: 08 Августа, 2017 - 18:01:37 • Тема: Проблема в создании списка с автосуммой. Как динамически определять input для выведения суммы? • Форум: JavaScript & VBScript

Ответов: 4
Просмотров: 565
Благодарю за помощь!
ЧИМ Отправлено: 02 Августа, 2017 - 18:52:29 • Тема: Проблема в создании списка с автосуммой. Как динамически определять input для выведения суммы? • Форум: JavaScript & VBScript

Ответов: 4
Просмотров: 565
select неудобен по той простой причине что количество может быть хоть и 50 и 1000. Кстати пример не совсем рабочий, так как не изменяется значение суммы от каждого изменения значения select.
На данный момент я уже додумался как сделать и конструкция уже работает, она выглядит вот так:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <html>
  3.     <head>
  4.         <title>exemple</title>
  5.         <meta charset="UTF-8">
  6.         <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.     </head>
  8.     <body>
  9.         <table border="1">
  10.             <thead>
  11.                 <tr><th></th>
  12.                     <th>Цена</th>
  13.                     <th>Кол-во</th>
  14.                     <th>Сумма</th>
  15.                 </tr>
  16.             </thead>
  17.             <tbody>
  18.                 <tr>
  19.                     <td><input type="text" class="num" id="num1" value="1"> </td>
  20.                     <td><input type="text" class="cena" id="cena1" oninput="change(this)"></td>
  21.                     <td><input type="text" class="kol_vo" id="kol_vo1" oninput="change(this)"></td>
  22.                     <td><input type="text" class="sum" id="sum1" ></td>
  23.                 </tr>
  24.                 <tr>
  25.                     <td><input type="text" class="num" id="num2" value="2"></td>
  26.                     <td><input type="text" class="cena" id="cena2" oninput="change(this)"></td>
  27.                     <td><input type="text" class="kol_vo" id="kol_vo2" oninput="change(this)"></td>
  28.                     <td><input type="text" class="summa" id="sum2"></td>
  29.            
  30.                 </tr>
  31.             </tbody>
  32.         </table>
  33.          cena: <span id="ws1"></span><br>
  34.          kol_vo: <span id="ws2"></span><br>
  35.          summa: <span id="ws3"></span><br>
  36. <script>
  37.   function change(id)
  38.   {              
  39.         if (id.id.charAt(0)=='c')
  40.         {
  41.         cena=id.value;        
  42.         i_sum=id.id.charAt(4);        
  43.         new_kol_id=document.getElementById('kol_vo'+i_sum).value;        
  44.         document.getElementById('sum'+i_sum).value=Number(cena)*Number(new_kol_id);        
  45.         }
  46.       if (id.id.charAt(0)=='k')
  47.         {
  48.         kol_vo=id.value;        
  49.         i_sum=id.id.charAt(6);
  50.         new_cena_id=document.getElementById('cena'+i_sum).value;        
  51.         document.getElementById('sum'+i_sum).value=Number(new_cena_id)*Number(kol_vo);        
  52.         }    
  53.   }
  54. </script>          
  55.     </body>
  56. </html>
  57.  
ЧИМ Отправлено: 01 Августа, 2017 - 23:01:09 • Тема: Проблема в создании списка с автосуммой. Как динамически определять input для выведения суммы? • Форум: JavaScript & VBScript

Ответов: 4
Просмотров: 565
Доброго времени суток!
Пытаюсь создать макет таблицы в которой будет неопределённое количество строк, но необходимо динамически вычислять сумму 2х input в строке и выводить её в третью. Как создать динамическое определение ID input в строке для дальнейшего манипулирования их значениями?
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <body>
  3.         <table border="1">
  4.             <thead>
  5.                 <tr><th></th>
  6.                     <th>Цена</th>
  7.                     <th>Кол-во</th>
  8.                     <th>Сумма</th>
  9.                 </tr>
  10.             </thead>
  11.             <tbody>
  12.                 <tr>
  13.                     <td><input type="text" id="num" value="1"> </td>
  14.                     <td><input type="text" id="cena1"> </td>
  15.                     <td><input type="text" id="kol_vo1"> </td>
  16.                     <td><input type="text" id="sum1"> </td>
  17.                 </tr>
  18.                 <tr>
  19.                     <td><input type="text" id="num" value="2"></td>
  20.                     <td><input type="text" id="cena2"> </td>
  21.                     <td><input type="text" id="kol_vo2"></td>
  22.                     <td><input type="text" id="sum2"></td>
  23.                 </tr>
  24.             </tbody>
  25.         </table>
  26. <script>
  27.   ed1=document.getElementById("cena1");
  28.   ed2=document.getElementById("kol_vo1");
  29.   ed1.oninput = function()
  30.   {
  31.     document.getElementById('sum1').value = Number(ed1.value)*Number(ed2.value);
  32.   }
  33.   ed2.oninput = function()
  34.   {
  35.     document.getElementById('sum1').value = Number(ed1.value)*Number(ed2.value);
  36.   }
  37. </script>          
  38.     </body>
  39.  
ЧИМ Отправлено: 10 Июня, 2017 - 12:40:03 • Тема: Ошибка при записи в файл • Форум: Apache и другие веб-серверы

Ответов: 3
Просмотров: 393
LIME пишет:
Жесть
Зачем ставить хитрые сборки? Всегда был против всяких панелей управления итд итп
Чистый дистрибутив залог здоровьяУлыбка

Какие сборки? О чём вы говорите? Чистый Дистрибутив CentOS 7.3
ЧИМ Отправлено: 06 Июня, 2017 - 21:43:41 • Тема: Ошибка при записи в файл • Форум: Apache и другие веб-серверы

Ответов: 3
Просмотров: 393
В общем дело было в хитрых настройках SELinux.
Вот здесь я прочитал про нужные мне параметры: http://www[dot]serverlab[dot]ca/tutorial[dot][dot][dot]ache-web-servers
А именно "httpd_sys_rw_content_t" после использования этой настройки всё начало записываться нормально.
Чё то они перемудрили с этим SELinux...
ЧИМ Отправлено: 01 Июня, 2017 - 15:07:22 • Тема: Ошибка при записи в файл • Форум: Apache и другие веб-серверы

Ответов: 3
Просмотров: 393
Доброго времени суток. Переношу свой проект на живой сервер и столкнулся с проблемой. У меня есть функция которая записывает данные в файл, а тут она перестала работать и в логи пишет следующее:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. 2017/06/01 15:08:57 [error] 8736#8736: *2 FastCGI sent in stderr: "PHP message: PHP Warning:  fopen(tx.txt): failed to open stream: Permission denied in /var/www/apteka/config/wr.php on line 3" while reading response header from upstream, client: 192.168.хх.хх, server: localhost, request: "GET /apteka/config/wr.php HTTP/1.1", upstream: "fastcgi://unix:/run/php-fpm/php-fpm.sock:", host: "192.168.хх.хх"
  3.  

Сам код файла я создал просто для пробы, чтоб отсечь всё ненужное.
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $file = 'tx.txt';
  4. fopen($file, 'x+');
  5. echo $file;
  6.  

1. Права на каталог 777,
2. Владелец каталога nginx,
3. Установлена связка CentOS 7.3.1611+nginx 1.12 +php7.1.5 +php-fpm 3.1.0
4. В файле php.ini функция allow_url_fopen = On
В чём может быть проблема?
ЧИМ Отправлено: 27 Апреля, 2017 - 13:48:55 • Тема: что такое Ajax в пхп? • Форум: Вопросы новичков

Ответов: 4
Просмотров: 597
Гугл забанили чтоль?
ЧИМ Отправлено: 29 Марта, 2017 - 17:16:26 • Тема: Вопрос о типах данных SQL • Форум: Вопросы новичков

Ответов: 11
Просмотров: 501
quad пишет:
Мелкий пишет:
Где сказано в этой теме, что эта тема про mysql?

Да и если говорить именно про mysql - тоже сюрпризы бывают.
https://dev[dot]mysql[dot]com/doc/refman[dot][dot][dot]5[dot]7/en/char[dot]html
Цитата:
InnoDB encodes fixed-length fields greater than or equal to 768 bytes in length as variable-length fields, which can be stored off-page

Хоп - и char становится строкой переменной длины.
В mysql вообще много сюрпризов.
На 99.9% то что автор этой темы имел в виду именно mysql Растерялся
(Добавление)
А так извини за невнимательность!

Ну на самом деле я работаю сейчас именно с MySQL, но в вопросе я имел ввиду SQL в целом.
ЧИМ Отправлено: 26 Марта, 2017 - 22:16:56 • Тема: Вопрос о типах данных SQL • Форум: Вопросы новичков

Ответов: 11
Просмотров: 501
Большое спасибо за советы. Может какую литературу посоветуете на русском и желательно из свежих по sql в целом? Конечно можно просто рыться в интернете и читать ото всюду по чуть чуть, но больше понимаю когда мысль заложенная в книге пытается донести саму суть и потенциал изучаемого процесса.
P.S. Уровень знания SQL у меня самый базовый(или и того меньше), знаю самый элементарные команды и типы данных по этому хотелось бы почитать литературу которая будет доступно доносить информацию. Сейчас вроде бы начал читать книгу "SQL. Полное руководство 3е издание 2015г." Надеюсь что зайдёт...
ЧИМ Отправлено: 26 Марта, 2017 - 18:16:53 • Тема: Вопрос о типах данных SQL • Форум: Вопросы новичков

Ответов: 11
Просмотров: 501
OrmaJever пишет:
типы данных в бд влияют на многое, во-первых это выборка, по некоторым типам проще сканить таблицу чем по другому, индексы работают лучше, во-вторых математические и строковые операции работают по разному, в третьих это только мускуль пренебрегает типами, в постгресе например такое не прокатит


т.е. Я так понимаю лучшая практика это всё же строгая типизация данных?
ЧИМ Отправлено: 25 Марта, 2017 - 21:28:00 • Тема: Вопрос о типах данных SQL • Форум: Вопросы новичков

Ответов: 11
Просмотров: 501
Добрый день.
Создавая структуру БД, задумался над такой вещью как типы полей в SQL таблицах. По логике если я с помощью PHP произвожу и запись данных в базу и считывание данных из неё с последующей обработкой(математические операции или же приведение к любому типу данных или просто вывод данных), то получается что для большинства полей(кроме id например) я могу использовать тип данных VARCHAR и просто менять длину для этих полей в зависимости от предполагаемых данных?
Я так понимаю что если мы с помощью самого SQL производим математические операции или строковые или другие работы с типами данных, тогда это важно, но тогда возникает вопрос: "Как лучше производить те же самые математические операции, средствами PHP или SQL?"

P.S. Сильно не пинайте если мои слова взрывают кому то мозг и кажутся бестолковыми, просто хочу понять как правильно мыслить при создании структуры БД.
ЧИМ Отправлено: 28 Февраля, 2017 - 11:42:56 • Тема: Капча срабатывает со второго раза • Форум: Вопросы новичков

Ответов: 6
Просмотров: 484
1.Скинь сюда ещё код капчи, чтоб не догадываться что там у тебя в функциях запихано.
2. В этой строке "<form action="./" method="post">" я бы всё таки прописал конкретный файл, в вашем случае я так понимаю это index.php.
ЧИМ Отправлено: 27 Февраля, 2017 - 22:30:25 • Тема: Капча срабатывает со второго раза • Форум: Вопросы новичков

Ответов: 6
Просмотров: 484
1. Такое ощущение, что у тебя в сессию заносится сгенерированная капча, а потом после загрузки страницы, она у тебя снова генерируется и по этому в первый раз не совпадает.
2. Такая примитивная капча не спасает от ботов. Если боты нащупают ваш сайт, то спам повалит по 50 а то и более писем за день*проверено). Нужно более изящные способы проверки делать.
ЧИМ Отправлено: 27 Февраля, 2017 - 20:23:16 • Тема: почему форма не вносит введенные данные • Форум: Вопросы новичков

Ответов: 12
Просмотров: 580
ppm
Советую тебе:
1. Поставь IDE NetBeans, он поможет тебе искать элементарные ошибки и писать нормальный код.
2. Начни с нормальной книги, которая будет тебя учить с самых азов, до более или менее нормального уровня. Например "Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5. 4-е издание(Бестселлеры O'Reilly) - 2016" она хотя бы относительно свежая и не использует в книге устаревший код который уже практически не поддерживается в новых версиях(например как у тебя "mysql_query")
3. Используй форум только в тех случаях когда ты не можешь несколько дней подряд найти решение своей проблемы, перелопатив кучу литературы и перепробовав все возможные варианты которые ты встречал на просторах интернета(по крайней мере, я стараюсь так делать). Иначе тебе просто не будут помогать на форумах.

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB