чудеса GET и POST (разные результаты при одном коде обработки)

KOLANICH

Новичок
чудеса GET и POST (разные результаты при одном коде обработки)

PHP:
 $a=mysql_real_escape_string($_POST["a"]);
$b=mysql_real_escape_string($_POST["b"]);
$c=mysql_real_escape_string($_POST["c"]);
$uri=mysql_real_escape_string($_POST["uri"]);

/*
$a=mysql_real_escape_string($_GET["a"]);
$b=mysql_real_escape_string($_GET["b"]);
$c=mysql_real_escape_string($_GET["c"]);
$uri=mysql_real_escape_string($_GET["uri"]);
*/
тут я таскаю мышкой символы-ограничители комментария и переключаю гэт/пост

PHP:
if($res){
		while(($r1=mysql_fetch_array($res))&&!$has){
			$has=preg_match("/(.+\t)*$a.*/",$r1["a"]);
			$p=$r1["a"];
		//new dBug($r1);
		//var_dump($r1,$has);
		}
	}/PHP] 

если запрос методом пост, то $res-пустой
 

baev

‹°°¬•
Команда форума
KOLANICH, я имел в виду — где формируются http-запросы.

Вы в форме метод меняете?
 

KOLANICH

Новичок
нет
гет- через адресную строку без всякой формы (вручную)
пост - через javascript
 

KOLANICH

Новичок
Код:
array(3) {
  ["uri"]=>
  string(15) "http://****.ru/"
  ["login"]=>
  string(8) "еуые"
  ["email"]=>
  string(8) "еуые"
}
 

dimagolov

Новичок
это var_dump($_POST)? что тебя не устраивает кроме того, что ты неправильно принимаешь получаемые значения?

-~{}~ 16.02.10 13:24:

читал бы http://phpfaq.ru/debug, не задавал бы дурных вопросов.
 

KOLANICH

Новичок
правильно я всё принимаю
я просто в начале скрипта эскейпю прнятые данные и присваиваю их переменным
 

dimagolov

Новичок
KOLANICH, да нихрена ты не понимаешь. у тебя в $_POST передаются uri, login и email, а ожидаешь ты с какого-то бодуна a, b, c, uri.

-~{}~ 16.02.10 13:32:

еще раз повторюсь, прочитай и пойми материал по ссылке, что я дал, чтобы глупости не писать
 

KOLANICH

Новичок
доконспирировался
я
PHP:
$login=mysql_real_escape_string($_POST["login"]);
$email=mysql_real_escape_string($_POST["email"]);
$uri=mysql_real_escape_string($_POST["uri"]);

/*

$login=mysql_real_escape_string($_GET["login"]);
$email=mysql_real_escape_string($_GET["email"]);
$uri=mysql_real_escape_string($_GET["uri"]);
*/
 

dimagolov

Новичок
ну отлаживай дальше. и копируй сюда только РЕАЛЬНЫЙ код и вывод, а не измышления свои. раз данные передаются, то проблема не в методе их передачи.
 

KOLANICH

Новичок
но при гете работает, при посте массив пуст
возможно, передаются ещё какие-то непечатаемые символы, из-за которых портится SELECT и ничего не находит
 

dimagolov

Новичок
KOLANICH, вот тут:
Код:
array(3) {
  ["uri"]=>
  string(15) "http://****.ru/"
  ["login"]=>
  string(8) "еуые"
  ["email"]=>
  string(8) "еуые"
}
ты что привел? результат var_dump($_POST)? если да, то смотри что и почему у тебя не выбирается, занимайся отладкой своего скрипта. ты пока еще ни одной строчки реального кода не привел, твои идеи о причинах проблем ни на чем не основаны и не выдерживают критики при ближайшем рассмотрении. чего ты ждешь от нас, кроме слов "POST в отличии от GET требует специальной уличной магии" непонятно.
 

KOLANICH

Новичок
тут эта тема только потому и существует, что на отладке замена переменных пост гетами даёт фигню
 

KOLANICH

Новичок
короче
на гэте всё пашед
на посте-нет
начинал отлаживать
до приведённого места всё пашед как надо
 
Сверху