<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Комментарии на: Отправка данных из скрипта методом POST</title>
	<atom:link href="http://blog.webmasterschool.ru/php/13/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.webmasterschool.ru/php/13/</link>
	<description>PHP, MySQL, JavaScript, AJAX, HTML и CSS</description>
	<pubDate>Mon, 21 May 2012 23:41:51 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>От: admin</title>
		<link>http://blog.webmasterschool.ru/php/13/#comment-632</link>
		<dc:creator>admin</dc:creator>
		<pubDate>Sun, 01 Feb 2009 11:44:59 +0000</pubDate>
		<guid isPermaLink="false">http://blog.webmasterschool.ru/?p=13#comment-632</guid>
		<description>&lt;strong&gt;Вацлав&lt;/strong&gt;, 400 Bad Request означает, что сервер обнаружил в запросе клиента синтаксическую ошибку. Об этом и сообщает сервер: Your browser sent a request that this server could not understand - ваш браузер отправил запрос, который (этот) сервер не понимает.
Меня смущает вот эта строка
Content-Type: text/html; charset=iso-8859-1
В обработчике данных формы action.php надо бы указать кодировку

&lt;code lang="php"&gt;
&lt;?php
header("Content-Type: text/html;charset=windows-1251");
echo 'Имя: '.$_POST['name'].'&lt;br/&gt;';
echo 'Пароль: '.$_POST['password'].'&lt;br/&gt;';
?&gt;
&lt;/code&gt;

Еще один момент: необходимо указать кодировку данных формы, которая будет использоваться скриптом-обработчиком:

&lt;code lang="html4strict"&gt;
&lt;form action="action" method="post" accept-charset="windows-1251"&gt;
&lt;/code&gt;

Если атрибут accept-charset отсутствует, браузер отправит данные формы в кодировке, указанной в meta-теге страницы формы

&lt;code lang="html4strict"&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=windows-1251"&gt;
&lt;/code&gt;

Когда мы формируем POST-данные скриптом, мы должны отправить этот заголовок сами:

&lt;code lang="php"&gt;
// Заголовки HTTP-запроса
$headers = 'POST '.$path." HTTP/1.1\r\n";
$headers .= 'Host: '.$hostname."\r\n";
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
$headers .= "Accept-Charset: windows-1251\r\n";
$headers .= 'Content-Length: '.strlen($data)."\r\n\r\n";
&lt;/code&gt;

</description>
		<content:encoded><![CDATA[<p><strong>Вацлав</strong>, 400 Bad Request означает, что сервер обнаружил в запросе клиента синтаксическую ошибку. Об этом и сообщает сервер: Your browser sent a request that this server could not understand - ваш браузер отправил запрос, который (этот) сервер не понимает.<br />
Меня смущает вот эта строка<br />
Content-Type: text/html; charset=iso-8859-1<br />
В обработчике данных формы action.php надо бы указать кодировку</p>
<div class="codecolorer-container php"><div class="codecolorer" style="font-family: monospace;"><span class="kw2">&lt;?php</span><br />
<span class="kw3">header</span><span class="br0">&#40;</span><span class="st0">&quot;Content-Type: text/html;charset=windows-1251&quot;</span><span class="br0">&#41;</span>;<br />
<span class="kw3">echo</span> <span class="st0">'Имя: '</span>.<span class="re0">$_POST</span><span class="br0">&#91;</span><span class="st0">'name'</span><span class="br0">&#93;</span>.<span class="st0">'&lt;br/&gt;'</span>;<br />
<span class="kw3">echo</span> <span class="st0">'Пароль: '</span>.<span class="re0">$_POST</span><span class="br0">&#91;</span><span class="st0">'password'</span><span class="br0">&#93;</span>.<span class="st0">'&lt;br/&gt;'</span>;<br />
<span class="kw2">?&gt;</span></div></div>
<p>Еще один момент: необходимо указать кодировку данных формы, которая будет использоваться скриптом-обработчиком:</p>
<div class="codecolorer-container html4strict" style="height:35px;"><div class="codecolorer" style="font-family: monospace;"><span class="sc2"><span class="kw2">&lt;form</span> <span class="kw3">action</span>=<span class="st0">&quot;action&quot;</span> <span class="kw3">method</span>=<span class="st0">&quot;post&quot;</span> <span class="kw3">accept-charset</span>=<span class="st0">&quot;windows-1251&quot;</span><span class="kw2">&gt;</span></span></div></div>
<p>Если атрибут accept-charset отсутствует, браузер отправит данные формы в кодировке, указанной в meta-теге страницы формы</p>
<div class="codecolorer-container html4strict" style="height:35px;"><div class="codecolorer" style="font-family: monospace;"><span class="sc2"><span class="kw2">&lt;meta</span> <span class="kw3">http-equiv</span>=<span class="st0">&quot;Content-Type&quot;</span> <span class="kw3">content</span>=<span class="st0">&quot;text/html; charset=windows-1251&quot;</span><span class="kw2">&gt;</span></span></div></div>
<p>Когда мы формируем POST-данные скриптом, мы должны отправить этот заголовок сами:</p>
<div class="codecolorer-container php"><div class="codecolorer" style="font-family: monospace;"><span class="co1">// Заголовки HTTP-запроса</span><br />
<span class="re0">$headers</span> = <span class="st0">'POST '</span>.<span class="re0">$path</span>.<span class="st0">&quot; HTTP/1.1<span class="es0">\r</span><span class="es0">\n</span>&quot;</span>;<br />
<span class="re0">$headers</span> .= <span class="st0">'Host: '</span>.<span class="re0">$hostname</span>.<span class="st0">&quot;<span class="es0">\r</span><span class="es0">\n</span>&quot;</span>;<br />
<span class="re0">$headers</span> .= <span class="st0">&quot;Content-type: application/x-www-form-urlencoded<span class="es0">\r</span><span class="es0">\n</span>&quot;</span>;<br />
<span class="re0">$headers</span> .= <span class="st0">&quot;Accept-Charset: windows-1251<span class="es0">\r</span><span class="es0">\n</span>&quot;</span>;<br />
<span class="re0">$headers</span> .= <span class="st0">'Content-Length: '</span>.<span class="kw3">strlen</span><span class="br0">&#40;</span><span class="re0">$data</span><span class="br0">&#41;</span>.<span class="st0">&quot;<span class="es0">\r</span><span class="es0">\n</span><span class="es0">\r</span><span class="es0">\n</span>&quot;</span>;</div></div>
]]></content:encoded>
	</item>
	<item>
		<title>От: Вацлав</title>
		<link>http://blog.webmasterschool.ru/php/13/#comment-630</link>
		<dc:creator>Вацлав</dc:creator>
		<pubDate>Sun, 01 Feb 2009 11:05:29 +0000</pubDate>
		<guid isPermaLink="false">http://blog.webmasterschool.ru/?p=13#comment-630</guid>
		<description>Content вывел это:
POST w2.php HTTP/1.1 Host: localhost Content-type: application/x-www-form-urlencoded Content-Length: 42 ?name=%C5%E2%E3%E5%ED%E8%E9&#38;password=qwertyHTTP/1.1 400 Bad Request Date: Sun, 01 Feb 2009 11:01:41 GMT Server: Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8d PHP/5.2.4 Content-Length: 338 Connection: close Content-Type: text/html; charset=iso-8859-1 
Bad Request

Your browser sent a request that this server could not understand.
Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8d PHP/5.2.4 Server at localhost Port 80</description>
		<content:encoded><![CDATA[<p>Content вывел это:<br />
POST w2.php HTTP/1.1 Host: localhost Content-type: application/x-www-form-urlencoded Content-Length: 42 ?name=%C5%E2%E3%E5%ED%E8%E9&amp;password=qwertyHTTP/1.1 400 Bad Request Date: Sun, 01 Feb 2009 11:01:41 GMT Server: Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8d PHP/5.2.4 Content-Length: 338 Connection: close Content-Type: text/html; charset=iso-8859-1<br />
Bad Request</p>
<p>Your browser sent a request that this server could not understand.<br />
Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8d PHP/5.2.4 Server at localhost Port 80</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: admin</title>
		<link>http://blog.webmasterschool.ru/php/13/#comment-577</link>
		<dc:creator>admin</dc:creator>
		<pubDate>Thu, 25 Dec 2008 07:38:23 +0000</pubDate>
		<guid isPermaLink="false">http://blog.webmasterschool.ru/?p=13#comment-577</guid>
		<description>&lt;strong&gt;Владислав&lt;/strong&gt;, я ничего не понял из Ваших объяснений. В заметке рассматривается способ отправки данных формы с помощью скрипта. Т.е. данные формы формирует не браузер на основе заполненных пользователем полей, как это бывает обычно, а скрипт. Скрипт, принимающий данные формы, должен как-то обработать полученный массив $_POST. По вопросам настройки Денвера лучше спросить на форуме Дмитрия Котерова. А по поводу почтового сервера - вообще загадка...</description>
		<content:encoded><![CDATA[<p><strong>Владислав</strong>, я ничего не понял из Ваших объяснений. В заметке рассматривается способ отправки данных формы с помощью скрипта. Т.е. данные формы формирует не браузер на основе заполненных пользователем полей, как это бывает обычно, а скрипт. Скрипт, принимающий данные формы, должен как-то обработать полученный массив $_POST. По вопросам настройки Денвера лучше спросить на форуме Дмитрия Котерова. А по поводу почтового сервера - вообще загадка&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Владислав</title>
		<link>http://blog.webmasterschool.ru/php/13/#comment-575</link>
		<dc:creator>Владислав</dc:creator>
		<pubDate>Thu, 25 Dec 2008 00:30:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.webmasterschool.ru/?p=13#comment-575</guid>
		<description>у меня вот возник вопрос пожалуйста не обессудьте. Вот делаю так как у вас написано 


тестирую все на локальной машине стоит денвер, но в сети есть почтовый сервер его адрес я и указываю, так вот если не вписывать имя и пароль в броузере выходит окошко авторизации на почтовый сервер, а если написать имя и пароль то идет по неправильному адресу, денвер вот что выдает - Вы ошиблись при наборе URL в браузере. Вероятнее всего, сервер пытается найти файл Z:/home/mysait.ru/www/WorldClient.dll, которого не существует. Не подскажите что я неправильно делаю?</description>
		<content:encoded><![CDATA[<p>у меня вот возник вопрос пожалуйста не обессудьте. Вот делаю так как у вас написано </p>
<p>тестирую все на локальной машине стоит денвер, но в сети есть почтовый сервер его адрес я и указываю, так вот если не вписывать имя и пароль в броузере выходит окошко авторизации на почтовый сервер, а если написать имя и пароль то идет по неправильному адресу, денвер вот что выдает - Вы ошиблись при наборе URL в браузере. Вероятнее всего, сервер пытается найти файл Z:/home/mysait.ru/www/WorldClient.dll, которого не существует. Не подскажите что я неправильно делаю?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

