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

AGENT131313

Забанен
Регистрация
17 Мар 2009
Сообщения
292
Реакции
31
Доброго времени суток.

Нужна помошь знающих людей.
Суть кода, при ответе пользователя выводит на нужную загадку ответ.
Проблема. При ответе на любую загадку, срабатывает вывод ответов на все загадки.
Например. Загадка 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>
 
Последнее редактирование:
Полная страница нужна, и желательно со всеми инлюдами, но подозреваю из-за этого:


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>
 
Последнее редактирование модератором:
Подскажите еще, почему в коде что ниже, принимает только цифры, а при буквах ничего не срабатывает..
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>
 
Может убрать intval($_GET['unumb']);
intval - получает целочисленное значение переменной.
 
Каким образом изменить code, чтобы вместо переменной $name стала константа при этом вывести значение константы в браузере? Правильно ввёл?
Код:
<?php 
    $name = "Boris";
    echo $name;  
?>
 
Каким образом изменить code, чтобы вместо переменной $name стала константа при этом вывести значение константы в браузере? Правильно ввёл?
Код:
<?php
    $name = "Boris";
    echo $name; 
?>

Код:
<?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"
?>
 
Назад
Сверху