ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #15761  
Старый 24.04.2010, 16:40
phpdreamer
Постоянный
Регистрация: 26.07.2009
Сообщений: 321
Провел на форуме:
444589

Репутация: 123
Отправить сообщение для phpdreamer с помощью ICQ
По умолчанию

снестите таблицу, создайте ее заново из бэкапа (пустую, с указаной кодировкой utf-8_general_ci).
а дальше следуйте инструкциям:
Цитата:
1)В файле .htaccess должна быть строка
AddDefaultCharset UTF-8
2)В верху php скрипта
header('Content-Type: text/html; charset=utf-8');
3)В редакторе (среде разработки) не забудьте переключить на UTF-8
4)Сразу после подключения к mysql выполняйте запрос
SET NAMES 'utf8'
источник
 

  #15762  
Старый 24.04.2010, 16:52
Failure
Участник форума
Регистрация: 21.09.2008
Сообщений: 148
Провел на форуме:
678893

Репутация: 102
По умолчанию

Цитата:
1)В файле .htaccess должна быть строка
AddDefaultCharset UTF-8
2)В верху php скрипта
header('Content-Type: text/html; charset=utf-8');
не находишь бредом указывать кодировку 2 раза? =\
это всеравно что
PHP код:
<?php
header
("Content-Type: text/html; charset=utf8");
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
...
 

  #15763  
Старый 24.04.2010, 17:09
Radical Edward
Новичок
Регистрация: 24.01.2010
Сообщений: 21
Провел на форуме:
36432

Репутация: 0
По умолчанию

Ваш пример работает. Вроде. Но на моем примере чего - то не получается. Скажите, что я сделал не так

Код:
CREATE TABLE `Nokia` (
  `ID` int(16) NOT NULL auto_increment,
  `Mark` varchar(16) default NULL,
  `Description` varchar(512) default NULL,
  `Photo` blob,
  `Price` double NOT NULL,
  `Incoming` date default NULL,
  `IsEnabled` smallint(1) NOT NULL,
  PRIMARY KEY  (`ID`),
  KEY `ID` (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=215 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=215 ;
Кста, почему автоинкремент дважды повторяется?

PHP код:
.
.
.
header("Content-Type: text/html; charset=cp1251");
.
.
.
mysql_query("SET NAMES cp1251");
.
.
$Description htmlentities($_POST['Description_Inp']);
.
.
$QUERY "Insert into ".$TABLENAME." values
(NULL"
.",
'"
.$Mark."',
'"
.$Description."',
'"
.$Photo_Data."',    
'"
.$Price."',
'"
.$Incoming."',
'"
.$IsEnabled."'
)"
;
//echo $QUERY;

$result mysql_query($QUERY$link); 

Как вы уже догадались, вся проблемма в поле Description
 

  #15764  
Старый 24.04.2010, 17:22
$now
Познающий
Регистрация: 27.04.2009
Сообщений: 87
Провел на форуме:
140663

Репутация: 34
По умолчанию

Radical Edward
Смотрели какой запрос уходит в базу?

Кстати, description можно сделать TEXT

PS Почему никто патологически не юзает PDO? Это же удобно и о фильтрации ввода позаботились до нас.

Последний раз редактировалось $now; 24.04.2010 в 17:25..
 

  #15765  
Старый 24.04.2010, 17:24
Failure
Участник форума
Регистрация: 21.09.2008
Сообщений: 148
Провел на форуме:
678893

Репутация: 102
По умолчанию

бикоз оф писать надо
Код:
$Description = htmlentities($_POST['Description_Inp'], ENT_QUOTES, "cp1251" );
$query у тебя какой то такой =\
лучше явно указывай, что бы потом не было проблем
Код:
INSERT INTO `table`(`Mark`,`Description`,`Photo`,`Price`,`Incoming`,`IsEnabled`) VALUES(....);
id писать не надо, на то и auto_increment
 

  #15766  
Старый 24.04.2010, 17:26
Radical Edward
Новичок
Регистрация: 24.01.2010
Сообщений: 21
Провел на форуме:
36432

Репутация: 0
По умолчанию

$now
Вот то , что идет в базу. То есть, не правильная сама кодировка на странице...

Код:
Insert into Nokia values (NULL, 'Ìàðêà', 'Îïèñàíè¸', '', '222.222', '2009-01-22', '1' )

Failure
Исправил, запрос изменился к "лучшему"

PHP код:
Insert into Nokia values (NULL'надпись''ііі''''''''0' 
&-#1053;о&-# &-#1091;р&-#1103;м&-#1089;

(без минусов)

Последний раз редактировалось Radical Edward; 24.04.2010 в 17:32..
 

  #15767  
Старый 24.04.2010, 17:29
$now
Познающий
Регистрация: 27.04.2009
Сообщений: 87
Провел на форуме:
140663

Репутация: 34
По умолчанию

У формы добавьте атрибут accept-charset="cp1251" может поможет
 

  #15768  
Старый 24.04.2010, 17:33
Radical Edward
Новичок
Регистрация: 24.01.2010
Сообщений: 21
Провел на форуме:
36432

Репутация: 0
По умолчанию

НУ все. После высокого прыжка с бубном, нечто похожее получилось. Скрипт вывода нормально выводит данные после скрипта ввода, однако теперь сам АДМИН не хочет интерпретировать введенные мною символы.
Есть идеи?

Спасибо за предоставленную помощь

Последний раз редактировалось Radical Edward; 24.04.2010 в 17:40..
 

  #15769  
Старый 24.04.2010, 18:04
$now
Познающий
Регистрация: 27.04.2009
Сообщений: 87
Провел на форуме:
140663

Репутация: 34
По умолчанию

Ну так у вас в админе поди utf-8 стоит. А данные то вы вставляете в 1251
 

  #15770  
Старый 25.04.2010, 01:32
Gin
Участник форума
Регистрация: 11.09.2008
Сообщений: 107
Провел на форуме:
262809

Репутация: 21
По умолчанию

апаю пост т.к. ответа не получил, готов даже вознаградить материально того кто поможет

Тема такая нужно написать чекер емалов для yahoo собстно написал, код но проблема в том что пост запрос не отправляеться. Я не давно только начал работать с курл. Есть две функции как видно из листинга первая получает значения вторая отправляет, но вот если первая работает нормально, то вторая отказываеться вообще. Да и в куки помоему вообще ничего не попадает. Вторая функция не отправляет POST запрос вообще.
Собственно код не пинайте сильно
Код:
<?php
$cookiefile = tempnam("/tmp", "cookies");
$refer="https://login.yahoo.com/config/login_verify2?&.src=ym";
$username="login";
$password="pass;
$url="https://login.yahoo.com/config/login?";
$agent="Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";

function GetData($url){
global $cookiefile,$refer,$url,$agent;
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,$url); 
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_REFERER, $refer);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,  0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec ($ch);
$answer=preg_match("#hash2(.*?)\<table#is",$result,$match);
preg_match_all('#name="(.*?)"#is',$match[0],$key_match);
preg_match_all("#value=\"(.*?)\"#is",$match[0],$value_match);
foreach($key_match[1] as $key)
foreach($value_match[1] as $value)
$post_array[$key]=$value;
$post_array['login']=$username;
$post_array['passwd']=$password;
$post_array['.Save']="Sign+In";
$post=http_build_query($post_array);
curl_close ($ch); 
return $post;	
}
function SendData($url,$post,$refer){
global $cookiefile,$refer,$url,$agent,$username,$password;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS,$post); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_REFERER, $refer);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,  0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec ($ch);
curl_close ($ch); 

return $result;
}
$post=GetData(url);
$data=SendData($refer,$post,$refer);
echo $data;
?>
 
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ