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

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

  1. AGENT131313

    AGENT131313 Забанен

    Регистр.:
    17 мар 2009
    Сообщения:
    292
    Симпатии:
    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
    Сообщения:
    162
    Симпатии:
    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
    Сообщения:
    292
    Симпатии:
    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
    Сообщения:
    17
    Симпатии:
    8
    Может убрать intval($_GET['unumb']);
    intval - получает целочисленное значение переменной.
     
    AGENT131313 нравится это.
  5. fourekmoon

    fourekmoon Создатель

    Регистр.:
    23 янв 2020
    Сообщения:
    17
    Симпатии:
    1
    Каким образом изменить code, чтобы вместо переменной $name стала константа при этом вывести значение константы в браузере? Правильно ввёл?
    Код:
    <?php 
        $name = "Boris";
        echo $name;  
    ?>
     
  6. Kushelbek

    Kushelbek Создатель

    Регистр.:
    23 апр 2015
    Сообщения:
    14
    Симпатии:
    2
    Код:
    <?php
    define("CONSTANT", "Здравствуй, мир.");
    echo CONSTANT; // выводит "Здравствуй, мир
    
    // Работает, начиная с версии PHP 5.3.0
    const CONSTANT = 'Здравствуй, мир.';
    
    echo CONSTANT;
    
    // Работает, начиная с версии PHP 5.6.0
    const ANOTHER_CONST = CONSTANT.'; Прощай, мир.';
    echo ANOTHER_CONST;
    
    const ANIMALS = array('dog', 'cat', 'bird');
    echo ANIMALS[1]; // выводит "cat"
    
    // Работает в PHP 7
    define('ANIMALS', array(
     'dog',
     'cat',
     'bird'
    ));
    echo ANIMALS[1]; // выводит "cat"
    ?>