Помошь в поправке кода

Тема в разделе "Как сделать...", создана пользователем AGENT131313, 30 авг 2019.

  1. AGENT131313

    AGENT131313 Забанен

    Регистр.:
    17 мар 2009
    Сообщения:
    291
    Симпатии:
    28
    Доброго времени суток.

    Нужна помошь знающих людей.
    Суть кода, при ответе пользователя выводит на нужную загадку ответ.
    Проблема. При ответе на любую загадку, срабатывает вывод ответов на все загадки.
    Например. Загадка 1 ответ Вася
    Загадка 2 ответ (пусто)
    PHP:
    <div class="content">
    <div class="zagadka">
    <? if($game) {
        if($_GET['unumb1']) {
        if($_GET['unumb1']==$otv1) {
            $_GET['otv1']=="";
                    $luc1 = true;

            $moder_message = "<font color='#0000ff'>Ответил на загадку. Приз ".$scredits." кред.</font>";
                $moder_user_name = "<font color='#0000ff'>Загадка</font>";
                include($engine_path."moder_board_post_message.php");
                unset ($rate);
            //Send Message
            $txt = "<b>ВСЕМ><center>Пользователь <font color=red>".$current_user->nickname."</font> правильно ответил на <a href=".$chat_url."game/card/card.php?session=".$session." target=_blank>Загадку</a> и получает <font color=#Ff0000>".$scredits."</font> кредитов</b>.</center>";
            sendMsgToChat($room_id, $txt);

            //Credits
            $current_user->credits = $current_user->credits + $scredits;
            include($ld_engine_path."user_info_update.php");
            //Save info
            $to_save = "<?\n";
            $to_save .="\$game=0;\n";
            $to_save .="\$spoints=0;\n";
            $to_save .="\$scredits=\"".$scredits."\";\n";
            $to_save .="\$otv1=\"".$otv1."\";\n";
            $to_save .="\$win1=\"".$current_user->nickname."\";\n";
            $to_save .= "?>";
            $fp=fopen($data_path."zagi.php","wb");
            flock($fp, LOCK_EX);
            fwrite($fp, $to_save);
            fflush($fp);
            flock($fp, LOCK_UN);
            fclose($fp);
            header("Location: card.php?session=$session");
        } else {
            $_GET['otv1']=="";
            $lus1 = true;
            $current_user->credits = $current_user->credits - $spoints;
            include($ld_engine_path."user_info_update.php");
            $moder_message = "<font color='#0000ff'>Не ответил на загадку. Потерял ".$spoints." кредов.</font>";
                $moder_user_name = "<font color='#0000ff'>Загадка</font>";
                include($engine_path."moder_board_post_message.php");
        }
    }?>
    <div style="margin-left:240px;    padding-top: 70px;"><b><font color=red size="5">Загадка.</font> <font size="4">Награда</font> <font color=red size="5"><? echo $scredits;?></font> кредов.</b></div>
    <div style="margin-left:80px;    padding-top: 50px; padding-right:40px;"><center><b><font size="5"><? echo $zaga1;?></b></font></center></div>
            <? if($current_user->credits >= $spoints) { ?>
        <div style="margin-left:180px;    padding-top: 50px;"><form action="card.php" method="GET">
        <input type="hidden" name="session" value="<?=$session;?>"><input type="text" class="fagot" style="color:#ff0000;  font-style: normal;" value="Ответ" name="unumb1" size="15">&nbsp;<input style="color:#ff0000;" class="namb" type="submit" value="Угадать загадку">
        </form></div>
        <? if($lus1) echo "<center><b><font color=#FC0000>К сожалению, не верно (:</font></b></center>";

        } else {
        echo "<center><b><font color=#FC0000>У вас недостаточно кредов (:</font></b></center>"; } ?>
            <? } else ?>
            Загадка. За ответ <? echo $scredits;?><br/><? echo $zaga1;?><br/>
            Отгадал <? echo $win1;?>!  Правильный ответ <? echo $otv1;?>!
            <? }?>
    </div>

    <div class="zagadka">
    <? if($game2) {
        if($_GET['unumb2']) {
        if($_GET['unumb2']==$otv2) {
            $_GET['otv2']=="";
            $moder_message = "<font color='#0000ff'>Ответил на загадку. Приз ".$scredits2." кред.</font>";
                $moder_user_name = "<font color='#0000ff'>Загадка</font>";
                include($engine_path."moder_board_post_message.php");
                unset ($rate);
            //Send Message
            $txt = "<b>ВСЕМ> <center>Пользователь <font color=red>".$current_user->nickname."</font> выиграл в игре <a href=".$chat_url."game/card/card.php?session=".$session." target=_blank>Банковская карта</a>! Выигрыш составил <font color=#Ff0000>".$scredits2."</font> кредитов</b>.</center>";
            sendMsgToChat($room_id, $txt);

            //Credits
            $current_user->credits = $current_user->credits + $scredits2;
            include($ld_engine_path."user_info_update.php");
        
            //Save info
            $to_save = "<?\n";
            $to_save .="\$game2=0;\n";
            $to_save .="\$spoints=0;\n";
            $to_save .="\$scredits2=\"".$scredits2."\";\n";
            $to_save .="\$otv2=\"".$otv2."\";\n";
            $to_save .="\$win2=\"".$current_user->nickname."\";\n";
            $to_save .= "?>";
            $fp=fopen($data_path."zagi.php","wb");
            flock($fp, LOCK_EX);
            fwrite($fp, $to_save);
            fflush($fp);
            flock($fp, LOCK_UN);
            fclose($fp);
            header("Location: card.php?session=$session");
        } else {
            $_GET['otv2']=="";
            $lus2 = true;
            $current_user->credits = $current_user->credits - $spoints;
            include($ld_engine_path."user_info_update.php");
            $moder_message = "<font color='#0000ff'>Не ответил на загадку. Потерял ".$spoints." кредов.</font>";
                $moder_user_name = "<font color='#0000ff'>Загадка</font>";
                include($engine_path."moder_board_post_message.php");
        }
    }?>
    Загадка. За ответ <? echo $scredits2;?><br/><? echo $zaga2;?>
            <? if($current_user->credits >= $spoints) { ?>
        <form action="card.php" method="GET">
        <input type="hidden" name="session" value="<?=$session;?>"><input type="text" class="fagot" style="color:#ff0000;  font-style: normal;" value="Ответ" name="unumb2" size="15">&nbsp;<input style="color:#ff0000;" class="namb" type="submit" value="Угадать загадку">
        </form>
        <? if($lus2) echo "<center><b><font color=#FC0000>К сожалению, не верно (:</font></b></center>";
        } else {
        echo "<br/><center><b><font color=#FC0000>У вас недостаточно кредов (:</font></b></center>"; } ?>
            <? } else {?>
            Загадка. За ответ <? echo $scredits;?><br/><? echo $zaga2;?><br/>
            Отгадал <? echo $win2;?>!  Правильный ответ <? echo $otv2;?>!
            <? }?>
    </div>



    </div>

     
    Последнее редактирование: 30 авг 2019
  2. Java

    Java

    Регистр.:
    14 окт 2011
    Сообщения:
    161
    Симпатии:
    41
    Полная страница нужна, и желательно со всеми инлюдами, но подозреваю из-за этого:


    PHP:
     }else {
            
    $_GET['otv1']=="";
            
    $lus1 true;
            
    $current_user->credits $current_user->credits $spoints;
            include(
    $ld_engine_path."user_info_update.php");
            
    $moder_message "<font color='#0000ff'>Не ответил на загадку. Потерял ".$spoints." кредов.</font>";
                
    $moder_user_name "<font color='#0000ff'>Загадка</font>";
                include(
    $engine_path."moder_board_post_message.php"); // тут ответы?
        
    }
    так попробуй
    PHP:
    <div class="content">
    <div class="zagadka">
    <? if($game) {
        if($_GET['unumb1']) {
        if($_GET['unumb1']==$otv1) {
            $_GET['otv1']=="";
                    $luc1 = true;

            $moder_message = "<font color='#0000ff'>Ответил на загадку. Приз ".$scredits." кред.</font>";
                $moder_user_name = "<font color='#0000ff'>Загадка</font>";
                include($engine_path."moder_board_post_message.php");
                unset ($rate);
            //Send Message
            $txt = "<b>ВСЕМ><center>Пользователь <font color=red>".$current_user->nickname."</font> правильно ответил на <a href=".$chat_url."game/card/card.php?session=".$session." target=_blank>Загадку</a> и получает <font color=#Ff0000>".$scredits."</font> кредитов</b>.</center>";
            sendMsgToChat($room_id, $txt);

            //Credits
            $current_user->credits = $current_user->credits + $scredits;
            include($ld_engine_path."user_info_update.php");
            //Save info
            $to_save = "<?\n";
            $to_save .="\$game=0;\n";
            $to_save .="\$spoints=0;\n";
            $to_save .="\$scredits=\"".$scredits."\";\n";
            $to_save .="\$otv1=\"".$otv1."\";\n";
            $to_save .="\$win1=\"".$current_user->nickname."\";\n";
            $to_save .= "?>";
            $fp=fopen($data_path."zagi.php","wb");
            flock($fp, LOCK_EX);
            fwrite($fp, $to_save);
            fflush($fp);
            flock($fp, LOCK_UN);
            fclose($fp);
            header("Location: card.php?session=$session");
        } else {
            $_GET['otv1']=="";
            $lus1 = true;
            $current_user->credits = $current_user->credits - $spoints;
            include($ld_engine_path."user_info_update.php");
            $moder_message = "<font color='#0000ff'>Не ответил на загадку. Потерял ".$spoints." кредов.</font>";
           //     $moder_user_name = "<font color='#0000ff'>Загадка</font>";
              //  include($engine_path."moder_board_post_message.php");
        }
    }?>
    <div style="margin-left:240px;    padding-top: 70px;"><b><font color=red size="5">Загадка.</font> <font size="4">Награда</font> <font color=red size="5"><? echo $scredits;?></font> кредов.</b></div>
    <div style="margin-left:80px;    padding-top: 50px; padding-right:40px;"><center><b><font size="5"><? echo $zaga1;?></b></font></center></div>
            <? if($current_user->credits >= $spoints) { ?>
        <div style="margin-left:180px;    padding-top: 50px;"><form action="card.php" method="GET">
        <input type="hidden" name="session" value="<?=$session;?>"><input type="text" class="fagot" style="color:#ff0000;  font-style: normal;" value="Ответ" name="unumb1" size="15">&nbsp;<input style="color:#ff0000;" class="namb" type="submit" value="Угадать загадку">
        </form></div>
        <? if($lus1) echo "<center><b><font color=#FC0000>К сожалению, не верно (:</font></b></center>";

        } else {
        echo "<center><b><font color=#FC0000>У вас недостаточно кредов (:</font></b></center>"; } ?>
            <? } else ?>
            Загадка. За ответ <? echo $scredits;?><br/><? echo $zaga1;?><br/>
            Отгадал <? echo $win1;?>!  Правильный ответ <? echo $otv1;?>!
            <? }?>
    </div>

    <div class="zagadka">
    <? if($game2) {
        if($_GET['unumb2']) {
        if($_GET['unumb2']==$otv2) {
            $_GET['otv2']=="";
            $moder_message = "<font color='#0000ff'>Ответил на загадку. Приз ".$scredits2." кред.</font>";
                $moder_user_name = "<font color='#0000ff'>Загадка</font>";
                include($engine_path."moder_board_post_message.php");
                unset ($rate);
            //Send Message
            $txt = "<b>ВСЕМ> <center>Пользователь <font color=red>".$current_user->nickname."</font> выиграл в игре <a href=".$chat_url."game/card/card.php?session=".$session." target=_blank>Банковская карта</a>! Выигрыш составил <font color=#Ff0000>".$scredits2."</font> кредитов</b>.</center>";
            sendMsgToChat($room_id, $txt);

            //Credits
            $current_user->credits = $current_user->credits + $scredits2;
            include($ld_engine_path."user_info_update.php");
       
            //Save info
            $to_save = "<?\n";
            $to_save .="\$game2=0;\n";
            $to_save .="\$spoints=0;\n";
            $to_save .="\$scredits2=\"".$scredits2."\";\n";
            $to_save .="\$otv2=\"".$otv2."\";\n";
            $to_save .="\$win2=\"".$current_user->nickname."\";\n";
            $to_save .= "?>";
            $fp=fopen($data_path."zagi.php","wb");
            flock($fp, LOCK_EX);
            fwrite($fp, $to_save);
            fflush($fp);
            flock($fp, LOCK_UN);
            fclose($fp);
            header("Location: card.php?session=$session");
        } else {
            $_GET['otv2']=="";
            $lus2 = true;
            $current_user->credits = $current_user->credits - $spoints;
            include($ld_engine_path."user_info_update.php");
            $moder_message = "<font color='#0000ff'>Не ответил на загадку. Потерял ".$spoints." кредов.</font>";
              //  $moder_user_name = "<font color='#0000ff'>Загадка</font>";
                //include($engine_path."moder_board_post_message.php");
        }
    }?>
    Загадка. За ответ <? echo $scredits2;?><br/><? echo $zaga2;?>
            <? if($current_user->credits >= $spoints) { ?>
        <form action="card.php" method="GET">
        <input type="hidden" name="session" value="<?=$session;?>"><input type="text" class="fagot" style="color:#ff0000;  font-style: normal;" value="Ответ" name="unumb2" size="15">&nbsp;<input style="color:#ff0000;" class="namb" type="submit" value="Угадать загадку">
        </form>
        <? if($lus2) echo "<center><b><font color=#FC0000>К сожалению, не верно (:</font></b></center>";
        } else {
        echo "<br/><center><b><font color=#FC0000>У вас недостаточно кредов (:</font></b></center>"; } ?>
            <? } else {?>
            Загадка. За ответ <? echo $scredits;?><br/><? echo $zaga2;?><br/>
            Отгадал <? echo $win2;?>!  Правильный ответ <? echo $otv2;?>!
            <? }?>
    </div>



    </div>
     
    Последнее редактирование модератором: 11 сен 2019
    AGENT131313 нравится это.
  3. AGENT131313

    AGENT131313 Забанен

    Регистр.:
    17 мар 2009
    Сообщения:
    291
    Симпатии:
    28
    Подскажите еще, почему в коде что ниже, принимает только цифры, а при буквах ничего не срабатывает..
    PHP:
    <?php
    if (!$session) {
    if (isset(
    $_COOKIE['c_session'])) {
        
    $session $_COOKIE['c_session']; 
        } else {
            
    $session ""; }
    }
    require_once(
    "../inc_common.php");
    include(
    $engine_path."users_get_list.php");
    if (!
    $exists)  {
            
    $error_text "$w_no_user";
            include(
    $file_path."designes/".$design."/error_page.php");
            exit;
    }
    if(!
    $is_regist_complete) {
       
    header("Location: ".$chat_url."registration_form.php?session=$session&user_name=".urlencode($user_name));
       exit;
    }
    function 
    sendMsgToChat($roomID$Msg)
       {
            global 
    $flood_protection;
            global 
    $messages_to_show$ld_engine_path$engine_path$data_path$messages_file$IsPublic$registered_colors;
               
            
    $bot "Новости";
            
    $flood_protection 1;
            
    $messages_to_show[] = array(MESG_TIME=>my_time(),
                                            
    MESG_ROOM=>$roomID,
                                            
    MESG_FROM=>$bot,
                                            
    MESG_FROMWOTAGS => "Казино",
                                            
    MESG_FROMSESSION=>"",
                                            
    MESG_FROMID=>0,
                                            
    MESG_TO=>"",
                                            
    MESG_TOSESSION=>"",
                                            
    MESG_TOID=>0,
                                            
    MESG_BODY=>$Msg);
            include(
    $engine_path."messages_put.php");
       }
       
    include(
    "../inc_user_class.php");
    include(
    $ld_engine_path."users_get_object.php");
    include(
    $data_path."zagi.php");
     
    $_GET['unumb']= intval($_GET['unumb']);
     if(
    $current_user->credits <= $spoints$_GET['unumb']=""
    ?>
    <html>
    <head>
    <title><?php echo $w_title?></title>
    </head>
        <? if($game) {
        if($_GET['unumb']) {
        if($_GET['unumb']==$numb) {
            $_GET['numb']=="";
            $moder_message = "<font color='#0000ff'>Получил за твет на загадку: ".$scredits." кред.</font>";
                $moder_user_name = "<font color='#0000ff'>Загадка</font>";
                include($engine_path."moder_board_post_message.php"); 
                unset ($rate);
            //Send Message
            $txt = "<b>ВСЕМ> </b><center><div style='border-radius: 10px;padding:5px;border:rgba(0,0,0,.3) 1px solid;width:60%;'><b>Пользователь <font color=red><u>".$current_user->nickname."</u></font> правильно ответил на <a href=".$chat_url."game/card/card.php?session=".$session." target=_blank>загадку</a>! <br/>Награда за ответ <font color=#Ff0000>".$scredits."</font> кредитов. Ответ: <u>".$numb."</u></div></center>";
            sendMsgToChat($room_id, $txt);

            //Credits
            $current_user->credits = $current_user->credits + $scredits;
            include($ld_engine_path."user_info_update.php");
           
            //Save info
            $to_save = "<?\n";
            $to_save .="\$game=0;\n";
            $to_save .="\$spoints=0;\n";
            $to_save .="\$scredits=\"".$scredits."\";\n";
            $to_save .="\$numb=\"".$numb."\";\n";
            $to_save .="\$win=\"".$current_user->nickname."\";\n";
            $to_save .= "?>";

            $fp = fopen($data_path."zagi.php", "wb");
            flock($fp, LOCK_EX);
            $fw = fwrite($fp, $to_save);
            flock($fp, LOCK_UN);
            $fc = fclose($fp);
           
           
            header("Location: card.php?session=$session");
        } else {
            $_GET['numb']=="";
            $lus = true;
            $current_user->credits = $current_user->credits - $spoints;
            include($ld_engine_path."user_info_update.php");
            $moder_message = "<font color='#0000ff'>Проиграл за неправильный ответ на загадку: ".$spoints." кредов.</font>";
                $moder_user_name = "<font color='#0000ff'>Загадка</font>";
                include($engine_path."moder_board_post_message.php"); 
        }
    }?>

    <div class="cat"><br/>Стоимость пробы <b><? echo $spoints;?></b> кредов.<br />
                Сумма на карточке: <b><? echo $scredits;?></b> кредов.<br/><br/> 
                У Вас всего <b><? echo $current_user->credits;?></b> кредов.<br />     <br/>   
                </div>
    <div class="bre">Угадайте последние цифры карточки от 100 до 999.</b></div><br/>

            <? if($current_user->credits >= $spoints) { ?>
        <form action="card.php" method="GET">
        <input type="hidden" name="session" value="<?=$session;?>"><input type="text" style="color:#ff0000;  font-style: normal;" name="unumb" size="25">&nbsp;<input style="color:#ff0000;" class="namb" type="submit" value="Угадать цифры">
        </form>
        <? if($lus) echo "<font color=#FC0000>К сожалению, не верно (:</font>";
        } else {
        echo "<font color=#FC0000>У вас недостаточно кредов (:</font>"; } ?>
        </div>
            <? } else {?>
    <div class="cat"><br/><b>Карточка нашла хозяина!!!</b>
    <br/><br/>Победитель <b><font color="#ff0000"><? echo $win;?></font></b>!<br />
                <? if($current_user->nickname==$win) {?>Было на карте <b><? echo $scredits;?></b> кредов.<? }?><br />     <br/>   
                </div>

    <div class="cred"><b>Новая карточка скоро поступит в розыгрыш.</b></div>
    <div class="tovar"><? if($current_user->nickname==$win) {?><br/><center><b><font color="FC0000">Поздравляем <? echo $current_user->nickname;?>! Вы стали хозяином разыгрываемой карты!<b></font></center><? }?>
    </div></div>
            <? }?>
            </html>
     
  4. Албибеков

    Албибеков Создатель

    Регистр.:
    24 июн 2016
    Сообщения:
    15
    Симпатии:
    5
    Может убрать intval($_GET['unumb']);
    intval - получает целочисленное значение переменной.