[Обсуждение] помощь в поиске ошибки

linpc

Гуру форума
Регистрация
6 Апр 2012
Сообщения
178
Реакции
55
Нужна помощь, делаю открытие подарков с вещами, понять не могу почему не работает просто уже очень долго сижу над скриптом и голова не соображает. Нужно чтоб когда нажимали открыть Подарок открывался и выполнял то что я хочу, а именно выдача вещи.
PHP:
if($row['open']==1){echo'<br /><form action=main.php?mselect=6 method=POST><input type=hidden name=post_id value=52><input type="hidden" name="uid" value="'.$player['id'].'" /><input type="hidden" name="wn" value="'.$row['present'].'" /><input type="hidden" name="ul" value="'.$player['login'].'" /><input type=hidden name=vcode value="'.scode().'"><input type="button" class="invbut" value="Открыть" onclick="if (confirm (\'Вы действительно хотите открыть подарок?\')) { form.submit(); }" /></form>';}else{echo"</br>";}

post_id.php
PHP:
if($post_id==52){
    $items=mysql_fetch_array(mysql_query("SELECT * FROM `hpr` WHERE `present`='".$wn."' LIMIT 1;"));
            if($items['items_id']!=0){
            $item=explode("|",$items['items_id']);
                foreach($item as $val){
                    if($val!=''){
                            $itemsql=mysql_fetch_array(mysql_query("SELECT * FROM `items` WHERE `id`='".$val."' LIMIT 1;"));
                            $par=explode("|",$itemsql['param']);
                            foreach ($par as $value) {
                                $stat=explode("@",$value);
                                switch($stat[0]){case 2: $dolg=$stat[1];break;}
                            }
                            if($wn<=116 or $wn>=121){$death=(time()+(86400*30));}
                            else{$death=0;}
                            if(mysql_query("INSERT INTO invent (`protype` ,`pl_id` ,`dolg` ,`price` ,`gift`,`gift_from`,`death`) VALUES ('".$itemsql['id']."','".$player['id']."','".$dolg."','".$itemsql['price']."','1','LifeIsWar.ru',".$death.");")){
                                $ms="top.frames['chmain'].add_msg('<font class=chattime>&nbsp;".date("H:i:s")."&nbsp;</font> <font color=000000><b><font color=#CC0000>Внимание!</font></b></font>&nbsp;Вы получили подарок: <b>".$itemsql['name']."</b>.</font><BR>'+'');";chmsg($ms,$player['login']);
                            }
                    }
                }
            }
}
 
не очень понятно, почему при открытии подарка форма идет на main.php, а скрипт написан в post_id.php ?
и вот эта проверка на константу if($post_id==52) ведь, как я понимаю, здесь должна быть проверка на post-переменную открытого подарка?
и откуда берется переменная $wn ?
 
в
не очень понятно, почему при открытии подарка форма идет на main.php, а скрипт написан в post_id.php ?
и вот эта проверка на константу if($post_id==52) ведь, как я понимаю, здесь должна быть проверка на post-переменную открытого подарка?
и откуда берется переменная $wn ?
том то и дело..Было реализовано не мной, а щас переписываю под себя и понять не могу... Где я допускаю ошибку. Переменную post беру тут: <input type=hidden name=post_id value=52>
А форма: <form action=main.php?mselect=6 method=POST> Потому что закладка на mselect=6
 
можете показать где идет инициализация $post_id, $wn в коде? (т.е. в скрипт приходит переменная $_POST["post_id"] или $_REQUEST["post_id"], если конечно не включен флаг register_globals что бывает довольно редко - тогда будет сразу $post_id)
сабмит формы попадает в этот код? (можно проверить просто debug-выводом через print_r('submitted') в файле post_id.php)
можно вывести что приходит постом в форму - print_r($_POST) в скрипте post_id.php?
 
Назад
Сверху