HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

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

Репутация: 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">
...
 
Ответить с цитированием

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

Репутация: 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
 
Ответить с цитированием

  #3  
Старый 24.04.2010, 17:22
$now
Познающий
Регистрация: 27.04.2009
Сообщений: 87
С нами: 8968459

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

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

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

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

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

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

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

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

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

Репутация: 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..
 
Ответить с цитированием

  #6  
Старый 24.04.2010, 17:29
$now
Познающий
Регистрация: 27.04.2009
Сообщений: 87
С нами: 8968459

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

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

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

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

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

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

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

  #8  
Старый 24.04.2010, 18:04
$now
Познающий
Регистрация: 27.04.2009
Сообщений: 87
С нами: 8968459

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

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

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

Репутация: 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;
?>
 
Ответить с цитированием

  #10  
Старый 25.04.2010, 11:20
phpdreamer
Постоянный
Регистрация: 26.07.2009
Сообщений: 321
С нами: 8838619

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

Gin, этот код нужно переписывать с нуля.
алгоритм такой (без всяких ф-й):
1)отправляем пост запрос с логином и паролем
2)ищем в ответе фразу о неправильном пароле, если ее нет, то все ок
никаких кукисов и юзерагентов там не нужно.

мб. я ошибаюсь, но скорей всего все делается одним запросом.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



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


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




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.