Jump to content

Иван Шумов

User
  • Posts

    1,685
  • Joined

  • Last visited

Everything posted by Иван Шумов

  1. балин.. вот нет чтобы все в 1 sql запрос сделать? ну или в командной строке строчку..
  2. тогда хрень, если там dom-дерево внутри то одним innerHTML не отделаешься. надо строить дерево, а то такие глюки бывают шо ппц
  3. а какой смысл в динамическом обновлении статических элементов?
  4. mysql --user=user --password=pass dbname < dump.sql :-D в разы)
  5. ага. 2 метра через pma предел. такие файлы только через консоль
  6. бред, не представляет сложности найти исходный скрипт. сложнее получить к не му доступ
  7. @s0rr0w пальцегнутельную машинку поджарить?
  8. http://pear.php.net/package/Archive_Tar
  9. 1) идешь на народ, 2) читаешь хелп там, 3) заливаешь доступно?
  10. ну если у вас никса, то все просто ^^ system('tar -xjvf file');
  11. все просто заголовок отправляется в base64_encode. всегда. правило такое ^^.
  12. вертикально-расплющенный смайлик "))))))))))))" ?
  13. ты не сделал там ничего. Можешь поверить. Начинай с htmlbook. Когда начнешь хоть половину понимать - можешь выть уверен - ты немножко научился делать сайты, но только немножко. Поэтому твое творение на юкозе вообще ничего. Zero
  14. х**ня (с) сайт на юкозе с чуть подправленной темой. ни грамма строчки кода ни грамма верстки
  15. забавно, но я к этому методу пришел сам, хотя и проводил реализацию другим методом. На самом деле не такая заумная вещь чтобы не дойти до неё своими мозгами
  16. не говори так. если мы что-то программируем то следует заботиться не только о том чтобы "пользователь видит картинку, пользователь счастлив". Нас также должна волновать безопасность и скорость работы. Эти 3 аспекта и составляют основополагающую любого проекта.
  17. Для этого и нужен AJAX. он без перезагрузки страницы выявит ошибки и ответит пользователю. и это безопасно. при этом нет необходимости следить за куками или еще как извращаться. так что лучший метод
  18. Тупо, скучно, не интересно и банально небезопасно. Все верификации формы следует отправлять и проверять через ajax, на стороне сервера ^^
  19. потому что бред написали оба $subject = '=?koi8-r?B?'.base64_encode(convert_cyr_string($subject, "w","k")).'?=';
  20. 1) бред 2) бред 3) бред 4) бред
  21. берешь и парсишь страницу я для этого парсю форекс :-D
  22. но не у всех - по ip блочат опять
  23. @rus не тупи - забыл что-ли про параметр id?
  24. у меня все тупо и просто - вот мой класс базы: <?php class mysql { public $connect; public $error; public $errno; public $query_count; public $query_result; public $query_text; function mysql() { global $kernel; } function do_connect() { global $kernel; $this->connect = mysql_connect($kernel->config['hostname'], $kernel->config['username'], $kernel->config['userpass'] ); $this->error = mysql_error(); $this->errno = mysql_errno(); mysql_select_db( $kernel->config['database'] ); $this->error = mysql_error(); $this->errno = mysql_errno(); $this->query( "SET NAMES '". $kernel->config['charset']."'" ); $this->query( "SET CHARACTER SET '". $kernel->config['charset']."'" ); } function query( $text ) { global $kernel; $this->query_count++; $this->query_text = $text; $this->query_result = mysql_query($text); $this->error = mysql_error(); $this->errno = mysql_errno(); if(!empty($this->error)) { $kernel->display->vars['error'] = $this->error; $kernel->display->vars['errno'] = $this->errno; $kernel->display->vars['query'] = $this->query_text; $kernel->display->do_output( 'sql_error' ); die(); } } function get_num_rows() { global $kernel; return mysql_num_rows( $this->query_result ); } function fetch_row() { global $kernel; $res = mysql_fetch_array( $this->query_result, MYSQL_ASSOC ); //$res = $kernel->security->return_string($res); return $res; } function fetch_all() { global $kernel; $rows = array(); while( $r = $this->fetch_row() ) $rows[] = $r; return $rows; } function do_insert( $table, $fields ) { global $kernel; $this->simple_construct( array( 'insert' => $table, 'fields' => $fields ) ); $this->query($this->query_text); } function do_replace( $table, $fields ) { global $kernel; $this->simple_construct( array( 'replace' => $table, 'fields' => $fields ) ); $this->query($this->query_text); } function do_update( $table, $fields, $where, $limit = -1 ) { global $kernel; $inside_data = array( 'update' => $table, 'set' => $fields, 'where' => $where ); if( $limit != -1 ) $inside_data[ 'limit' ] = $limit; $this->simple_construct( $inside_data ); $this->query($this->query_text); } function do_delete( $table, $where, $limit = -1 ) { global $kernel; $inside_data = array( 'delete' => $table, 'where' => $where ); if( $limit != -1 ) $inside_data[ 'limit' ] = $limit; $this->simple_construct( $inside_data ); $this->query($this->query_text); } function simple_construct( $params ) { global $kernel; foreach( $params as $key => $value ) $params[ strtolower( $key ) ] = $value; $this->query_text = ''; if( isset( $params['select'] ) ) $this->query_text .= $this->construct_select_query( $params ); if( isset( $params['replace'] ) ) $this->query_text .= $this->construct_replace_query( $params ); if( isset( $params['update'] ) ) $this->query_text .= $this->construct_update_query( $params ); if( isset( $params['delete'] ) ) $this->query_text .= $this->construct_delete_query( $params ); if( isset( $params['insert'] ) ) $this->query_text .= $this->construct_insert_query( $params ); } function construct_select_query( $params ) { global $kernel; $text = 'SELECT '. $params['select'] .' FROM `'. $kernel->config['prefix'] . $params['from'] .'`'; if( !empty($params['where']) ) $text .= ' WHERE '. $params['where']; if( !empty($params['order']) ) $text .= ' ORDER BY '. $params['order']; if( !empty($params['limit']) ) $text .= ' LIMIT '. $params['limit']; return $text; } function construct_update_query( $params ) { global $kernel; $text = 'UPDATE `'. $kernel->config['prefix'] . $params['update'] .'` SET '; if( is_array( $params['set'] ) ) { foreach( $params['set'] as $key => $value ) { $key = preg_replace( "#`(.+?)`#si", "\\1", $key ); $text .= "`". $key ."` = '". $value ."', "; } $text = substr( $text, 0, strlen( $text ) - 2 ); } else { $text .= $params['set']; } if( !empty($params['where']) ) $text .= ' WHERE '. $params['where']; if( !empty($params['limit']) ) $text .= ' LIMIT '. $params['limit']; return $text; } function construct_delete_query( $params ) { global $kernel; $text = 'DELETE FROM `'. $kernel->config['prefix'] . $params['delete'] .'` '; if( !empty($params['where']) ) $text .= ' WHERE '. $params['where']; if( !empty($params['limit']) ) $text .= ' LIMIT '. $params['limit']; return $text; } function construct_insert_query( $params ) { global $kernel; $text = 'INSERT INTO `'. $kernel->config['prefix'] . $params['insert'] .'`'; $fields = "("; $values = "VALUES ("; foreach( $params['fields'] as $field => $value ) { $fields .= "`{$field}`, "; $values .= $value === false ? 'null, ' : "'{$value}', "; } $values = substr( $values, 0, strlen( $values ) - 2 ).")"; $fields = substr( $fields, 0, strlen( $fields ) - 2 ).")"; $text .= $fields .' '. $values; return $text; } function construct_replace_query( $params ) { global $kernel; $text = 'REPLACE INTO `'. $kernel->config['prefix'] . $params['replace'] .'`'; $fields = "("; $values = "VALUES ("; foreach( $params['fields'] as $field => $value ) { $fields .= "`{$field}`, "; $values .= $value === false ? 'null, ' : "'{$value}', "; } $values = substr( $values, 0, strlen( $values ) - 2 ).")"; $fields = substr( $fields, 0, strlen( $fields ) - 2 ).")"; $text .= $fields .' '. $values; return $text; } } ?>
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy