Обработка Get

Статус
В этой теме нельзя размещать новые ответы.

AndreyD2

Гуру форума
Регистрация
21 Окт 2008
Сообщения
196
Реакции
72
В чем может быть ошибка?

Есть обработчик POST
PHP:
$params=array('USER','PASS','TARGET','TEXT','SENDER');
$point=', ';
$err=count($params);
foreach($params as $val)
 {

  if (array_key_exists($val,$_POST))
     {
        if (!empty($_POST[$val]))
     	   {
     	   	$err--;
     	   	if($err==0) $point='';
     	   	if(($val=='TEXT') or ($val=='SENDER') or ($val=='TARGET'))
     	   	         {$quot="'"; }
     	   	else
     	   	         {$quot="";}

     	    $query=$query.$quot.$_POST[$val].$quot.$point;
        if($val=='USER') {$user = $_POST[$val];}
		if($val=='PASS') {$pass = $_POST[$val];}
		if($val=='TARGET') {$target = $_POST[$val];}		
		if($val=='TEXT') {$text = $_POST[$val];}			
		if($val=='SENDER') {$sender = $_POST[$val];}			
     	   }
     }
  }


На основании его сделал обработку GET с двумя параметрами:

PHP:
$query=''; // начало запроса;
// расположить в порядке как В БД
$params=array('USER','PASS');
$point=', ';
$err=count($params);
foreach($params as $val)
 {

  if (array_key_exists($val,$_GET))
     {
        if (!empty($_GET[$val]))
     	   {
             if($val=='USER') {$user = $_GET[$val];}
		     if($val=='PASS') {$pass = $_GET[$val];}
     	   }
     }
  }
$aut0 = "SELECT count(*) as kol FROM sms_user where ID = '$user' and pass='$pass'"; 
$result0 = mysql_query($aut0);
$kol = mysql_result($result0, $x1, 'kol');
$sum==0;
If ($kol>0)
{
$aut = "SELECT money FROM sms_user where ID = '$user' and pass='$pass'"; 
$result2 = mysql_query($aut);
$sum = mysql_result($result2, $x1, 'money');
}


Не работает код , так как параметры не обрабатываются
Если можно помогите исправить этот код, а не приводить новый, так как в этом разобрался уже. А в php не очень силен.
 
Вот в этом месте:
if($val=='USER') {$user = $_GET[$val];}
if($val=='PASS') {$pass = $_GET[$val];}

Проверь что у тебя передаётся в переменно $val:
Возможно, просто $val никогда не равна USER или PASS, плюс ко всему вот это == - регистрозависимое стравнение
 
Мб глупость сморозю мб нет а точно ли ты передаешь параметры в форме методо Get
HTML:
<form action="" method="Get">
...
</form>
 
Get делается из программы, вот код:

Код:
  HTTP := TIdHttp.Create(Self);
  url := 'http://****.ru/balans.php?user='+Form2.Edit2.Text+'&pass='+Form2.Edit1.Text;
  RichEdit1.Lines.Text := HTTP.Get(url);
  HTTP.free;

По пооду echo $val выводит USERPASS, что не правильно(
 
а если в начало кода вставить
PHP:
print_r($_GET);
тогда мы увидим действительно ли есть эти самые гет параметры
да и foreach в данном коде избыточен так как $_GET это же обыкновенный ассоциативный массив
 
Все нашел наконец-то ошибку, спасибо еще раз OnArs!

В get
Код:
user='+Form2.Edit2.Text+'&pass='
регистр не совпадал с регистром в скрипте
HTML:
if($val=='USER') {$user = $_GET[$val];}
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху