PHP.SU

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

Страниц (54): В начало « ... 38 39 40 41 [42] 43 44 45 46 ... » В конец

> Найдено сообщений: 808
vanicon Отправлено: 23 Июня, 2012 - 16:56:43 • Тема: Авторизация по сессии • Форум: Вопросы новичков

Ответов: 37
Просмотров: 1325
Цитата:
Если это злоумышленник, то ему не составит труда посмотреть при первом логине свой хеш и подставить его затем в форму при втором, таким образом становясь для системы "правильным" пользователем.
Все, что отдается клиенту - не может быть доверенной информацией.

C чего Вы взяли что это поможет? При входе у пользователя 1 hash(session_id) а при каждом заходе нужно просто менять этот session_id. И тогда каждый 2 пользователь вошедший "выбьет" из системы 1 - го пользователя так как session_id уже измениться
vanicon Отправлено: 23 Июня, 2012 - 16:00:20 • Тема: Уникальная выборка • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 64
Не стал разбираться конкретно с Вашим запросом, но суть Вашей проблемы понял.
Приведу не большой пример:
это проверка на существование get параметра input, если он существует то присваиваем переменной $input_sql кусок нужного sql запроса, если его нет то оставляем эту переменную пустой. $where я сделал переменной если условий и вовсе не будет...
PHP:
скопировать код в буфер обмена
  1.  
  2. //если хотябо одно из условие будет существовать
  3. if(isset($_GET['input1']) or isset($_GET['input2']) or isset($_GET['input3'])){
  4. $where = 'WHERE';//то назначаем оператор WHERE
  5. //1 уловие
  6. if(isset($_GET['input1'])){
  7. $input1_sql = "`input` = '".$_GET['input1']."'";//тут AND не нужен так как это условие будет всегда первым
  8. }
  9. else{
  10. $input1_sql = '';
  11. }
  12.  
  13. //2 условие
  14. if(isset($_GET['input2'])){
  15. if($input1_sql <> null){
  16. //это условие будет стоять 2 значит неообходимо проверить существует ли 1 условие, если существует то добавляем оператор AND
  17. $input2_sql = "AND `input2` = '".$_GET['input2']."'";
  18. }
  19. else{
  20. //а если не существует то без опереатора AND
  21. $input2_sql = "`input2` = '".$_GET['input2']."'";
  22. }
  23. }
  24. else{
  25. $input2_sql = '';
  26. }
  27.  
  28. //3 условие
  29. if(isset($_GET['input3'])){
  30. //это условие будет стоять 3 значит неообходимо проверить существует 1 или 2 условие, если существует то добавляем оператор AND
  31. if($input1_sql <> null or $input2_sql <> null){
  32. $input3_sql = "AND `input3` = '".$_GET['input3']."'";
  33. }
  34. else{
  35. //а если не существует то без опереатора AND
  36. $input3_sql = "`input3` = '".$_GET['input3']."'";
  37. }
  38. }
  39. else{
  40. $input3_sql = '';
  41. }
  42.  
  43. }
  44. else{
  45. $where = '';//если ниодного условия нет то WHERE сдесь не к чему
  46. $input1_sql = '';
  47. $input2_sql = '';
  48. $input3_sql = '';
  49. }
  50.  
  51. //сам запрос
  52. $quer = "SELECT * from `test` $where $input1_sql $input2_sql $input3_sql";
  53.  
  54.  
vanicon Отправлено: 23 Июня, 2012 - 03:02:37 • Тема: Где ошибка в запросе? • Форум: SQL и Архитектура БД

Ответов: 20
Просмотров: 149
Если не трудно напиши запрос на создание этой таблички(чтоб там хотя бо 2 строки были)
vanicon Отправлено: 23 Июня, 2012 - 02:50:00 • Тема: Где ошибка в запросе? • Форум: SQL и Архитектура БД

Ответов: 20
Просмотров: 149
Цитата:
я ж уже так пробовал - не помогло...

Это должно работать все переменные запросы оберните в такие кавычки '".$var."'
Как я Вам выше написал, если не поможет то увы я даже не знаю что тут может быть...
vanicon Отправлено: 23 Июня, 2012 - 02:39:21 • Тема: Где ошибка в запросе? • Форум: SQL и Архитектура БД

Ответов: 20
Просмотров: 149
Попробуйте заменить 15 строку вот на эту:
PHP:
скопировать код в буфер обмена
  1. $quer = "SELECT * from `BALANCE` where `B_DokVid`='".$DokVid."' AND `B_NomerDok`='".$DokNomer."' AND `B_Filial`='".$filial."' AND `B_Time`='".$DokVremia."' AND `B_Dt`= '".$DokDt."' AND `B_Kt`= '".$DokKt."' AND `B_Comment`='".$DokComment."' AND `B_NomStroki`='".$Dopolnitelno."' LIMIT 1";
vanicon Отправлено: 23 Июня, 2012 - 02:32:30 • Тема: Где ошибка в запросе? • Форум: SQL и Архитектура БД

Ответов: 20
Просмотров: 149
У меня вот это работает:
PHP:
скопировать код в буфер обмена
  1.  
  2. $link = mysql_connect("localhost", "root", "*********");
  3. mysql_select_db('test', $link);
  4.  
  5. $DokVid        = 'расходнаянакладная';
  6. $DokNomer      = '1-09089890';
  7. $DokDt         = '0.00';
  8. $DokKt         = '259.5';
  9. $DokComment    = '';
  10. $filial        = '4';
  11. $DokVremia     = '20.00';
  12.  
  13. $DokVid        =mysql_real_escape_string($DokVid);
  14. $DokNomer      =mysql_real_escape_string($DokNomer);
  15. $DokData       =mysql_real_escape_string($DokData);
  16. $DokVremia     =mysql_real_escape_string($DokVremia);
  17. $DokKontragent =mysql_real_escape_string($DokKontragent);
  18. $DokDt         =mysql_real_escape_string($DokDt);
  19. $DokKt         =mysql_real_escape_string($DokKt);
  20. $DokComment    =mysql_real_escape_string(trim($DokComment));
  21. $Dopolnitelno  =mysql_real_escape_string(trim($Dopolnitelno));
  22.  
  23. $quer = "SELECT * from `BALANCE` where `B_DokVid`='$DokVid' AND `B_NomerDok`='$DokNomer' AND `B_Filial`='$filial' AND `B_Time`='$DokVremia' AND `B_Dt`=$DokDt AND `B_Kt`=$DokKt AND `B_Comment`='$DokComment' LIMIT 1";
  24. $qu = mysql_query($quer);
  25.  

Это Ваш запрос вроде... Но я типы в бд поставил всем строки, но раз в phpmyadmin выполняется то это не из за типов...
vanicon Отправлено: 23 Июня, 2012 - 02:16:27 • Тема: Где ошибка в запросе? • Форум: SQL и Архитектура БД

Ответов: 20
Просмотров: 149
Ок, сейчас попробую у себя тоже самое...
vanicon Отправлено: 23 Июня, 2012 - 02:09:15 • Тема: Где ошибка в запросе? • Форум: SQL и Архитектура БД

Ответов: 20
Просмотров: 149
Попробуйте заменить 15 строку на вот это:
PHP:
скопировать код в буфер обмена
  1.  
  2. $quer = "SELECT * from `BALANCE` where `B_DokVid`='".$DokVid."' AND `B_NomerDok`='".$DokNomer."' AND `B_Filial`='".$filial."' AND `B_Time`='".$DokVremia."' AND `B_Dt`= $DokDt AND `B_Kt`= $DokKt AND `B_Comment`='".$DokComment."' AND `B_NomStroki`='".$Dopolnitelno."' LIMIT 1";
  3.  
vanicon Отправлено: 23 Июня, 2012 - 01:54:45 • Тема: Где ошибка в запросе? • Форум: SQL и Архитектура БД

Ответов: 20
Просмотров: 149
А можно посмотреть на код самого запроса с php функциями
vanicon Отправлено: 23 Июня, 2012 - 01:50:40 • Тема: Где ошибка в запросе? • Форум: SQL и Архитектура БД

Ответов: 20
Просмотров: 149
Попробуйте сделать вот как:
PHP:
скопировать код в буфер обмена
  1. echo "SELECT * FROM `BALANCE` WHERE `B_DokVid`= '$DokVid' AND `B_NomerDok`= '$DokNomer' AND `B_Filial`='$filial' AND `B_Time`='$DokVremia' AND `B_Dt`= '$DokDt' AND `B_Kt`= '$DokKt' AND `B_Comment`= '$DokComment' AND `B_NomStroki`= '$Dopolnitelno' LIMIT 1";

И посмотрите на запрос на экране, скорее всего в переменных дело.
vanicon Отправлено: 23 Июня, 2012 - 01:42:41 • Тема: Где ошибка в запросе? • Форум: SQL и Архитектура БД

Ответов: 20
Просмотров: 149
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. SELECT * FROM `BALANCE` WHERE `B_DokVid`= '$DokVid' AND `B_NomerDok`= '$DokNomer' AND `B_Filial`='$filial' AND `B_Time`='$DokVremia' AND `B_Dt`= '$DokDt' AND `B_Kt`= '$DokKt' AND `B_Comment`= '$DokComment' AND `B_NomStroki`= '$Dopolnitelno' LIMIT 1
  3.  
vanicon Отправлено: 22 Июня, 2012 - 21:49:27 • Тема: Округление числа.... • Форум: Вопросы новичков

Ответов: 13
Просмотров: 410
Думаю это то что Вам нужно для php http://www.php.su/functions/?round
vanicon Отправлено: 22 Июня, 2012 - 21:04:04 • Тема: Вывод данных из базы данных mysql • Форум: Вопросы новичков

Ответов: 2
Просмотров: 110
это запрос
CODE (htmlphp):
скопировать код в буфер обмена
  1. SELECT * FROM `имя_таблицы`

а это реализация на php
PHP:
скопировать код в буфер обмена
  1.  
  2. $mysql = mysql_connect('localhost', "mysql_user", 'mysql_password')  or die('Не удалось подключиться: ' . mysql_error());
  3. $query = "SELECT * FROM `имя_таблицы`";
  4. $result = mysql_query($query) or die('Не удалось выполнить запрос: ' . mysql_error());
  5. while ($array = mysql_fetch_array($result, MYSQL_ASSOC)) {
  6. foreach ($array as $value) {
  7. echo $value.'<br>';
  8. }
  9. }
  10. /* Освобождаем память от результата */
  11. /* Закрываем соединение */
  12. mysql_close($mysql);
  13.  
vanicon Отправлено: 10 Июня, 2012 - 13:30:23 • Тема: Экономия ram • Форум: Программирование на PHP

Ответов: 2
Просмотров: 245
Цитата:
А разве редиска не умеет сама балансировать память?

В каком смысле балансировать? Точно не знаю, но по моему не может, там только есть бэкапы на жесткий диск... Но уточню этот вопрос...
vanicon Отправлено: 10 Июня, 2012 - 13:12:12 • Тема: Экономия ram • Форум: Программирование на PHP

Ответов: 2
Просмотров: 245
В качестве базы данных использую redis(который хранит все данные в ram) и хранения 300 постов от 10 тыс пользователей это примерно около 1 гига оперативки. Но читать больше 300 постов 1 пользователя будут единицы. То есть я хочу что бы в оперативки хранилось определенное кол-во записей, которые будут часто использоваться(то есть самые последние). Но вот не задача ведь кто-то может захотеть просмотреть записи пользователя и за прошедшие месяцы и т.д. И я вот думаю что для таких случаев необходимо держать эти посты еще и в другой бд которая хранит свои данные на жестком диске. К примеру mysql или sqlite. Но для этого понадобится при опубликовании постов делать как минимум два запроса на запись одного и того же в 2 бд. Может сделать какой нибудь типа планировщик на другом сервере который будет получать данные(посты) и уже он будет записывать эти данные в бд(mysql или sqlite). Потом уже если нужно забирать данные с этого сервера(из бд я имею ввиду). А основной сервер спокойно продолжать работу дальше. Посоветуйте пожалуйста как тут быть? может есть у кого-нибудь решения по лучше...

Страниц (54): В начало « ... 38 39 40 41 [42] 43 44 45 46 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB