Иван Шумов
User-
Posts
1,685 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Store
Everything posted by Иван Шумов
-
балин.. вот нет чтобы все в 1 sql запрос сделать? ну или в командной строке строчку..
-
тогда хрень, если там dom-дерево внутри то одним innerHTML не отделаешься. надо строить дерево, а то такие глюки бывают шо ппц
-
а какой смысл в динамическом обновлении статических элементов?
-
mysql --user=user --password=pass dbname < dump.sql :-D в разы)
-
ага. 2 метра через pma предел. такие файлы только через консоль
-
Почему рекомендуют файлы с РНР скриптами называть не *.html?
Иван Шумов replied to Boron's question in PHP
бред, не представляет сложности найти исходный скрипт. сложнее получить к не му доступ -
@s0rr0w пальцегнутельную машинку поджарить?
-
http://pear.php.net/package/Archive_Tar
-
1) идешь на народ, 2) читаешь хелп там, 3) заливаешь доступно?
-
ну если у вас никса, то все просто ^^ system('tar -xjvf file');
-
все просто заголовок отправляется в base64_encode. всегда. правило такое ^^.
-
вертикально-расплющенный смайлик "))))))))))))" ?
-
ты не сделал там ничего. Можешь поверить. Начинай с htmlbook. Когда начнешь хоть половину понимать - можешь выть уверен - ты немножко научился делать сайты, но только немножко. Поэтому твое творение на юкозе вообще ничего. Zero
-
х**ня (с) сайт на юкозе с чуть подправленной темой. ни грамма строчки кода ни грамма верстки
-
забавно, но я к этому методу пришел сам, хотя и проводил реализацию другим методом. На самом деле не такая заумная вещь чтобы не дойти до неё своими мозгами
-
не говори так. если мы что-то программируем то следует заботиться не только о том чтобы "пользователь видит картинку, пользователь счастлив". Нас также должна волновать безопасность и скорость работы. Эти 3 аспекта и составляют основополагающую любого проекта.
-
Для этого и нужен AJAX. он без перезагрузки страницы выявит ошибки и ответит пользователю. и это безопасно. при этом нет необходимости следить за куками или еще как извращаться. так что лучший метод
-
Тупо, скучно, не интересно и банально небезопасно. Все верификации формы следует отправлять и проверять через ajax, на стороне сервера ^^
-
потому что бред написали оба $subject = '=?koi8-r?B?'.base64_encode(convert_cyr_string($subject, "w","k")).'?=';
-
1) бред 2) бред 3) бред 4) бред
-
notepad++, phpExpertEditor
-
берешь и парсишь страницу я для этого парсю форекс :-D
-
но не у всех - по ip блочат опять
-
@rus не тупи - забыл что-ли про параметр id?
-
у меня все тупо и просто - вот мой класс базы: <?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; } } ?>