Привет всем. Может тут кто поможет? Проблема в следующем:
Постоянно зависает одна таблица, заметил это при её апдейте. Только делаю апдейт и все, сразу висяк. Сдклал SHOW FULL PROCESSLIST, вот что он показывает:
Цитата:
id | user | host | db | command | time | state | info
3 | ... | .... | ... | QUERY | 890 | Writing to net | SELECT * FROM test.product
Ну и соответственно процесс SHOW FULL PROCESSLIST...
Кто может сказать, в чем проблема? Почему этот запрос зависает?
Заранее спасибо!
Ну проблем много может быть, может таблица похеренная (если это так, то мускуль ругается при рестарте в консоль), может I/O error, может он плохо переносит высокое атмосферное давление А вообщем, первым делом включите полное логирование (запросы, длительные запросы, ошибки) в мускуле, и глядите, если там пусто нужно логи ОС копать уже
рекурсивно обходить все файлы и подпапки в указанной папке, и собственно копировать их в новую, предварительно создав ёе, вот тут перечень функций для работы с файловой системой - http://php.su/functions/?page=cat_filesystem , а вообще имхо проще через exec() и консоль это сделать, если конечно сервер свой, а не хостинг
1) формирую ajax запросом из базы Nное количество SPAN с определенной информацией
2)на все клики по SPAN висит функция allert
проблема:
функция действует на SPANы которые созданыы до ajax запроса.
после добавления новых спанов ajax-запросом функция не действует.
проблема в том что событие вешается через $('ид_элемента').onclick(handler); при таком подходе обработка события вешается непосредственно на саму ноду при загрузке дом-дерева(то есть 1 раз), и продает вместе с удалением ноды. Тут варианта два - или после каждого ответа опять вешать хандлеры на каждую ноду , что-то вроде $.ajax({succes:function(){$('ид_элемента').onclick(handler);}}); или использовать инлайн хандлер в ответе сервера - например <span onclick="alert('bla-bla-bla');"></span>, при таком раскладе нода уже будет вставлена в дом с готовым обработчиком. Ну как-то так.
за прошедшую ночь я все таки передумал писать админ панель для сервера, пока что)), воспользуюсь WebMin'om.
Но все таки интересно как можно реализоать авторизацию на сайте, только тех пользователей, у которых учетки есть в ОС, т.е. как в этом случае взаимодействовать с ОС?
Вот код. В работе должно получится сортирование по убыванию. Постоянно ошибки памяти.Fatal error: Allowed memory size of 50331648 bytes exhausted (tried to allocate 35 bytes)
Ладно, а стоит ли тогда использовать эту защиту для переменных которые передаются методом POST в инпуте с типом hidden ? Например id юзера и его логин
Зависит от вашей лени)) Но есть золотое правило - "не доверяй пользователю ничего". Вообще проверять нужно всё что приходит от пользователя, включая куки. Потому что заголовок и тело запроса - открыты , их можно просмотреть даже стандартными средствами браузера, не говоря уже о снифферах и всякой нечисти.
Есть Таблица1, где есть id, stolbec1, stolbec2, stolbec3
Есть Таблица2, где есть id, id_Таблица1, stolbec1, stolbec2, stolbec3
Мне нужно сделать так что бы когда добавляю через формы информацию в таблицу1, он всё что добавляю добавлял так же и в таблицу2, с условием что:
Таблица1.id=Таблица2.id_Таблица1
Таблица1.stolbec1=Таблица2.stolbec1
Таблица1.stolbec2=Таблица2.stolb ec2
Таблица1.stolbec3=Таблица2.stolbec3
Т.е. вся информация первой таблицы переносится в другую в месте с id первой таблицы.
Делаю двойной INSERT, всё работает кроме одного, а именно:
Таблица1.id=Таблица2.id_Таблица1
т.е. id первой таблицы не переносит автоматически в другую согласно связке таблиц. При этом все остальное переносится без проблем!
Я так понял что между INSERT-ами я должен определит переменную которая будет равна той id которая встала в новой записи первой таблицы. Но вот как!?
База данных. Массивы. Константы. Но не переменные...
о базе данних все понятно
но почему лучше масиви и константи чем переменние скажите плиз коротко, если не сложно.
для PHP по сути без разницы, хоть переменные, хоть массивы, у него архитекрута не такая как у компилируемых языков, поэтому лучше используйте то что вам удобно. А вообще по идеи массив с тремя значениями занимает меньше памяти чем три переменных (при условии что и значения массива и переменных одинаковы), но опять же это не про PHP, в PHP ваш код по сути никак не может повлиять на память.
$referer=$_SERVER['HTTP_REFERER'];//адрес откуда пришёл запрос, если запрос на прямую идёт, с титутльной страницы браузера - остаётся пустым, но на практике рядовой юзер не сможет послать пост запрос с консоли, и ещё не обязательный заголовок по RFC, поэтому если какой-нить гик выключил отправление этого заголовка то тоже поле будет пустым, можно для надёжности ещё определять адрес javascript'ом, но на практике у кого включен приватный режим, у того и js выключен, вообще 100% способа определения откуда пришёл запрос не существует
//записывать в файл в данном случае проще сериализованный массив, но он не очень читабельный, поэтому для пример разделятся будут данные точкой с запятой
$string_for_put=$text.';'.$referer;//объединяем все в одну строку
if(file_put_contents('тут путь до файла',$string_for_put,FILE_APPEND))//если записаны данные
Для числовых значений intval() достаточно, для строк же лучше использовать специальные функции в зависимости от субд. С MySQL допустим поможет mysql_real_escape_string().
Вы далеко ушли от темы то. Notepad++ моё имхо. "Погоду-мечту" не приемлю
N++ не кроссплатформенный, что и погода-мечта, учитывая что для php родная среда - *nix. Да и вообще не IDE это, а редакторы. Нет дебага, корявый автокомплит, etc... Вот и остаются кроссплатформенные IDE на java. Самые известные - NetBeans, Eclipse. Но они монструозны, и учитывая как jdk любит ресурсы, на слабых машинах тормозят безбожно. Вот и остается ныкатся, выбирать. Я открыл для себя phpstorm, тоже на java, но не такой монструозный, на нём и остановился. Да и в него входит webstorm - неплохая ide для javascript\html\css. Вообщем его всем и советую.