Аукцион на ajax

  • Автор темы alexsoft59
  • Дата начала

Как вам данный модуль?

  • Бессысленный модуль.

    Голосов: 0 0,0%

  • Всего проголосовало
    6
Статус
В этой теме нельзя размещать новые ответы.
alexsoft59
Капитан очевидность...).
Участник
Сообщения
347
Реакции
29
Вот посчастливилось мне обзавестись данным аукционом,но не могу адаптировать его для FF. Там нужно переписать не сами запросы к БД, а их вызов в тех местах, где используются
placeholder'ы вида "?i". Может кто то сможет этим заняться,буду рад...
 
alexsoft59
Капитан очевидность...).
Участник
Сообщения
347
Реакции
29
PHP:
<div class="cl-right">
<?php


$_OPTIMIZATION["title"] = "Аукцион";
$usid = $_SESSION["user_id"];

$user_data = db::getRow("SELECT * FROM db_users_b WHERE id = ?i LIMIT 1", $usid);

$config_site = db::getRow("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
?>

<link rel="stylesheet" href="/style/flipclock.css">
<script src="/js/jquery-1.11.0.min.js"></script>
<script src="/js/flipclock.min.js"></script>
<style>
    .vip {
        color: #aa920d;
        font-weight: bold;
    }
</style>

<script>



    var clock;
    var clockStarted = false;
    var timerData;
    var timerHistory;
    var bidFieldFocused = false;
    var lastMessageId = 0;

    String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g, '');};
    RegExp.escape= function(s) {
        return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
    };
    new function($) {
        $.fn.setCursorPosition = function(pos) {
            if ($(this).get(0).setSelectionRange) {
                $(this).get(0).setSelectionRange(pos, pos);
            } else if ($(this).get(0).createTextRange) {
                var range = $(this).get(0).createTextRange();
                range.collapse(true);
                range.moveEnd('character', pos);
                range.moveStart('character', pos);
                range.select();
            }
        }
    }(jQuery);

    $(function() {
        // fill chat messages
        var chatBody = $('div#chatBody');
        var html = '';
        for(var i=1;i<=50;i++) {
            html += '<div id="chatMessage'+i+'" class="chatMessage">&nbsp;</div>';
        }
        chatBody.html(html);

        // Init clock
        clock = $('.your-clock').FlipClock({
            autoStart: false,
            clockFace: 'MinuteCounter'
        });
        clock.setTime(900);
        clock.setCountdown(true);

        getAuctionData();
        getAuctionHistory();
        getChat();
        setInterval('getAuctionData()', 2000);
        setInterval('getAuctionHistory()', 5000);
        setInterval('getChat()', 2000);

    });

    function getAuctionData() {
        var aucBank = $('td#bank');
        var aucBid = $('td#bid');
        var aucUser = $('td#user');
        var bidValue = $('input#bidValue');

        //clearTimeout(timerData);

        $.ajax({
            type: 'POST',
            url: '/_ajax.auction.php',
            dataType: 'json',
            data: {
                action: 'getData'
            }}).
            done(function( response ) {
                if (typeof response.error != 'undefined') {
                    alert(response.error);
                } else {
                    var min_bid = Math.max(response.min_bid, response.current_bid);
                    if (response.current_bank == null)
                        var add = 0;
                    else
                        var add = 1;

                    if (bidFieldFocused == false && (bidValue.val()-1) < min_bid)
                        bidValue.val(min_bid+add);

                    if (response.current_bank == null) {
                        aucBank.text('0');
                        aucBid.text('');
                        aucUser.text('');
                        clock.stop();
                        clock.setTime(response.duration);
                    } else {

                        var remain = response.duration - response.current_duration;
                        if (!clockStarted) {
                            clock.start();
                            clockStarted = true;
                        }

                        if (Math.abs(clock.getTime().time - remain) < 2) {
                            //console.log('Auction in process');
                        } else {
                            clock.setTime(remain);
                        }
                        aucBank.text(response.current_bank);
                        aucBid.text(response.current_bid);
                        aucUser.text(response.user);
                    }
                    //timerData = setTimeout('getAuctionData()', 5000);
                }

            });
    }

    function getAuctionHistory() {
        //clearTimeout(timerHistory);

        $.ajax({
            type: 'POST',
            url: '/_ajax.auction.php',
            dataType: 'json',
            data: {
                action: 'getHistory'
            }}).
            done(function( response ) {
                if (typeof response.error != 'undefined') {
                    alert(response.error);
                } else {
                    $('tr.historyItem').remove();
                    for(var i in response) {

                        var html = '<tr class="historyItem">';
                        html += '<td align="center">'+response[i].id+'</td>';
                        html += '<td align="center">'+response[i].winner+'</td>';
                        html += '<td align="center">'+response[i].bank+'</td>';
                        html += '<td align="center">'+response[i].ctime+'</td>';
                        html += '</tr>';

                        $('table#auctionHistory tr:last').after(html);
                        //timerHistory = setTimeout('getAuctionHistory()', 5000);
                    }

                }
            });
    }

    function setBid() {
        var bidValue = $('input#bidValue');
        $('input#makeBid').focus();

        $.ajax({
            type: 'POST',
            url: '/_ajax.auction.php',
            dataType: 'json',
            data: {
                action: 'bid',
                value: bidValue.val()
            }}).
            done(function( response ) {
                if (typeof response.error != 'undefined') {
                    alert(response.error);
                } else {
                    getAuctionData();
                }

            });
    }

    function getChat() {
        var chat = $('div#auctionChat');
        var chatBody = $('div#chatBody');
        $.ajax({
            type: 'POST',
            url: '/_ajax.auction.php',
            dataType: 'json',
            data: {
                action: 'getChat'
            }}).
            done(function( response ) {
                if (typeof response.error != 'undefined') {
                    alert(response.error);
                } else {
                    // remove old messages
                    //$('div.chatMessage').remove();
                    var html = '';
                    var maxMessageId = 0;
                    var index = 50;
                    for(var i in response) {
                        var chatMessageContainer = $('div#chatMessage'+index);

                        var html = '<b style="cursor:pointer" class="user">'+response[i].user+'</b>['+response[i].level+']';
                        html += ' ('+response[i].time_human+'): '+response[i].message;
                        chatMessageContainer.html(html);
                        if ( response[i].vip == 1)
                            chatMessageContainer.addClass('vip');
                        else
                            chatMessageContainer.removeClass('vip');

                        var id = parseInt(response[i].id)
                        if ( id > maxMessageId )
                            maxMessageId = id;
                        index--;
                    }
                    //chatBody.html(html);

                    setTimeout(function() {
                        if (lastMessageId < maxMessageId) {
                            chat.scrollTop(chat.prop('scrollHeight'));
                            lastMessageId = maxMessageId;
                        }
                    }, 100);

                }

            });
    }

    function chatSend() {
        var vipCheckbox = $('input#vip');
        var chatMessage = $('input#chatMessage');
        if (chatMessage.val().trim() == '')
            return;

        var vip = 0
        if (vipCheckbox.is(':checked')) vip = 1;

        $.ajax({
            type: 'POST',
            url: '/_ajax.auction.php',
            dataType: 'json',
            data: {
                action: 'chatSend',
                message: chatMessage.val(),
                vip: vip
            }}).
            done(function( response ) {
                if (typeof response.error != 'undefined') {
                    alert(response.error);
                } else {
                    chatMessage.val('');
                }
            });
    }

    $(document).on('click', 'input#makeBid', function() {
        setBid();
    });
    $(document).on('click', 'input#chatSend', function() {
        chatSend();
    });
    $(document).on('keypress', 'input#chatMessage', function(e) {
        var code = e.keyCode || e.which;
        if ( code == 13 ) chatSend();
    });

    $(document).on('focus', 'input#bidValue', function() {
        bidFieldFocused = true;
    });
    $(document).on('blur', 'input#bidValue', function() {
        bidFieldFocused = false;
    });
    $(document).on('click', 'input#bidValue', function() {
        bidFieldFocused = true;
    });
    $(document).on('keypress', 'input#bidValue', function(e) {
        var code = e.keyCode || e.which;
        if ( code == 13 ) setBid();
    });
    $(document).on('click', 'b.user', function() {
        $('input#chatMessage').val($(this).text()+', '+$('input#chatMessage').val());
        $('input#chatMessage').focus();
        $('input#chatMessage').setCursorPosition($('input#chatMessage').val().length);
    });
    $(document).on('click', 'img.smileyBtn', function() {
        $('input#chatMessage').val($('input#chatMessage').val()+$(this).attr('code'));
        $('input#chatMessage').focus();
        $('input#chatMessage').setCursorPosition($('input#chatMessage').val().length);
    });
    $(document).on('click', 'label#vipLabel', function() {
        var vipCheckbox = $('input#vip');
        var chatMessage = $('input#chatMessage');

        if (vipCheckbox.is(':checked') == false) {
            vipCheckbox.prop('checked', true);
            chatMessage.addClass('vip');
        } else {
            vipCheckbox.prop('checked', false);
            chatMessage.removeClass('vip');
        }
    });


</script>

<div class="s-bk-lf">
    <div class="acc-title">Аукцион</div>
</div>

<div class="silver-bk">
<?php
$access = new access(10);
if ($access->checkBillet()) {
?>
    <p><center><img src="/img/auction-hammer-icon.png" width="130" height="120"><center><br>
    Делайте ставки Господа!
    Ставка должна быть больше предыдущей хотя бы на 1 монету.
    После оплаты ставки в банк добавляется 75% от сделанной ставки.
    После каждой ставки таймер обнуляется.
    Если по истечении заданного количества времени ни один игрок не сможет перекрыть ставку,
    то весь банк выигрывает последний поставивший ставку.(выигрыш зачисляется на счёт победителя автоматически).
    <font color="red">Ставка оплачивается монетами для игр.</font>
    </p>

    <style>
        .aucDigit {
            display: inline-block;
            border-radius: 5px;
            box-shadow: 0px 3px 4px 0px rgba(50, 50, 50, 0.8);
        }
    </style>

    <table width="300" border="0" style="border:0px solid green" align="center">
        <tbody><tr>
            <td style="padding:3px;"><b>Текущий банк:</b></td>
            <td bgcolor="#c7d0cc" style="padding:3px;" align="center" id="bank"><b>0</b></td>
        </tr>
        <tr>
            <td style="padding:3px;"><b>Текущая ставка:</b></td>
            <td style="padding:3px;" align="center" id="bid"></td>
        </tr>
        <tr>
            <td style="padding:3px;"><b>Поставил:</b></td>
            <td style="padding:3px;" align="center" id="user"></td>
        </tr>
        <tr>
            <td style="padding:3px;"><b>До завершения:</b></td>
            <td style="padding:0px;text-align:center;" align="center" id="remainTime"><div class="your-clock" style="zoom: 0.3;"></div></td>
        </tr>
    </tbody></table>
    <br><br>
    <table width="300" border="0" style="border:0px solid green" align="center">
        <tbody><tr>
            <td style="padding:3px;"><b>Ваша ставка:</b></td>
            <td style="padding:3px;" align="center"><input type="text" id="bidValue" value="" size="10"></td>
        </tr>
        <tr>
            <td style="padding:3px;" colspan="3" align="center"><input type="button" id="makeBid" value="Поставить"></td>
        </tr>
    </tbody></table>

    <br><br><center>Стоимость простого сообщения-1 мон VIP-5 мон со счета для игр. <center>
    <center>В чате запрещены попытки сговора, оскорбления, реклама. За нарушение БАН. <center>
    <div id="auctionChatWrap" style="text-align: center;">
        <div id="auctionChat" style="display:inline-block;width:560px;height:160px;overflow-y:scroll; border:0px solid green; text-align: center;padding:3px;font-size:15px;">
            <div id="chatBody" style="text-align:left;">

            </div>
        </div>
        <div id="smileys">
        <?php
            $smileys = array(
                '=)' => 'smile',
                ':thumbs:' => 'THUMBS_UP',
                ':D' => 'laugh',
                ':dance:' => 'dance',
                ':(' => 'sadness',
                ':P' => 'tongue',
                'o_O' => 'wonder',
                'B-)' => 'dirol',
                'T_T' => 'cray',
                '\m/' => 'aggressive'
            );
            foreach($smileys as $code => $smiley) {
                echo '<img style="cursor:pointer;" class="smileyBtn" code="'.$code.'" src="/img/smileys/'.$smiley.'.gif"> ';
            }
        ?>
        </div>
        <input type="text" id="chatMessage" style="width:400px" maxlength="400">
        <input type="checkbox" id="vip"><label id="vipLabel" style="cursor: pointer; color: #aa920d; font-weight: bold;">VIP</label>
        <input style="width:70px" type="button" id="chatSend" value="Отправить"/>

        <!--<input style="width:70px;color:red;" type="button" id="chatSendVip" value="VIP"/>-->

    </div>

    <table id="auctionHistory" cellpadding="3" cellspacing="0" border="0" bordercolor="#336633" align="center" width="99%">
    <tbody><tr>
        <td colspan="5" align="center"><h4></h4></td>
    </tr>
    <tr>
        <th align="center" class="m-tb">Аукцион №</th>
        <th align="center" class="m-tb">Победитель</th>
        <th align="center" class="m-tb">Банк</th>
        <th align="center" class="m-tb">Дата</th>
    </tr>

    </tbody></table>

    <?php } else {
    if (isset($_POST['buybillet'])) {
        if ($access->buyBillet() == false) {
            echo $access->getError();
        }
        else {
            echo '<p style="font-size: 18px; color: green;">Купленный билет будет действителен 5 часов! Для начала игры обновите страницу!</p>';
        }
    }
    else {
?>
<center>
    <b>Цена покупки билета - <?php echo $access->getBilletPrice(); ?></b>
    <form action="" method="post">
        <input type="hidden" name="buybillet" value="1">
        <p><input value="Купить билет" type="submit"></p>
    </form>
</center>
<?php
    }
}
?>
   
    <div class="clr"></div>
</div>
 
kvozimir
Участник
Сообщения
1.935
Реакции
409
ICQ
734713 734713
Skype
alexsoft59 написал(а):
PHP:
<div class="cl-right">
<?php


$_OPTIMIZATION["title"] = "Аукцион";
$usid = $_SESSION["user_id"];

$user_data = db::getRow("SELECT * FROM db_users_b WHERE id = ?i LIMIT 1", $usid);

$config_site = db::getRow("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
?>

<link rel="stylesheet" href="/style/flipclock.css">
<script src="/js/jquery-1.11.0.min.js"></script>
<script src="/js/flipclock.min.js"></script>
<style>
    .vip {
        color: #aa920d;
        font-weight: bold;
    }
</style>

<script>



    var clock;
    var clockStarted = false;
    var timerData;
    var timerHistory;
    var bidFieldFocused = false;
    var lastMessageId = 0;

    String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g, '');};
    RegExp.escape= function(s) {
        return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
    };
    new function($) {
        $.fn.setCursorPosition = function(pos) {
            if ($(this).get(0).setSelectionRange) {
                $(this).get(0).setSelectionRange(pos, pos);
            } else if ($(this).get(0).createTextRange) {
                var range = $(this).get(0).createTextRange();
                range.collapse(true);
                range.moveEnd('character', pos);
                range.moveStart('character', pos);
                range.select();
            }
        }
    }(jQuery);

    $(function() {
        // fill chat messages
        var chatBody = $('div#chatBody');
        var html = '';
        for(var i=1;i<=50;i++) {
            html += '<div id="chatMessage'+i+'" class="chatMessage">&nbsp;</div>';
        }
        chatBody.html(html);

        // Init clock
        clock = $('.your-clock').FlipClock({
            autoStart: false,
            clockFace: 'MinuteCounter'
        });
        clock.setTime(900);
        clock.setCountdown(true);

        getAuctionData();
        getAuctionHistory();
        getChat();
        setInterval('getAuctionData()', 2000);
        setInterval('getAuctionHistory()', 5000);
        setInterval('getChat()', 2000);

    });

    function getAuctionData() {
        var aucBank = $('td#bank');
        var aucBid = $('td#bid');
        var aucUser = $('td#user');
        var bidValue = $('input#bidValue');

        //clearTimeout(timerData);

        $.ajax({
            type: 'POST',
            url: '/_ajax.auction.php',
            dataType: 'json',
            data: {
                action: 'getData'
            }}).
            done(function( response ) {
                if (typeof response.error != 'undefined') {
                    alert(response.error);
                } else {
                    var min_bid = Math.max(response.min_bid, response.current_bid);
                    if (response.current_bank == null)
                        var add = 0;
                    else
                        var add = 1;

                    if (bidFieldFocused == false && (bidValue.val()-1) < min_bid)
                        bidValue.val(min_bid+add);

                    if (response.current_bank == null) {
                        aucBank.text('0');
                        aucBid.text('');
                        aucUser.text('');
                        clock.stop();
                        clock.setTime(response.duration);
                    } else {

                        var remain = response.duration - response.current_duration;
                        if (!clockStarted) {
                            clock.start();
                            clockStarted = true;
                        }

                        if (Math.abs(clock.getTime().time - remain) < 2) {
                            //console.log('Auction in process');
                        } else {
                            clock.setTime(remain);
                        }
                        aucBank.text(response.current_bank);
                        aucBid.text(response.current_bid);
                        aucUser.text(response.user);
                    }
                    //timerData = setTimeout('getAuctionData()', 5000);
                }

            });
    }

    function getAuctionHistory() {
        //clearTimeout(timerHistory);

        $.ajax({
            type: 'POST',
            url: '/_ajax.auction.php',
            dataType: 'json',
            data: {
                action: 'getHistory'
            }}).
            done(function( response ) {
                if (typeof response.error != 'undefined') {
                    alert(response.error);
                } else {
                    $('tr.historyItem').remove();
                    for(var i in response) {

                        var html = '<tr class="historyItem">';
                        html += '<td align="center">'+response[i].id+'</td>';
                        html += '<td align="center">'+response[i].winner+'</td>';
                        html += '<td align="center">'+response[i].bank+'</td>';
                        html += '<td align="center">'+response[i].ctime+'</td>';
                        html += '</tr>';

                        $('table#auctionHistory tr:last').after(html);
                        //timerHistory = setTimeout('getAuctionHistory()', 5000);
                    }

                }
            });
    }

    function setBid() {
        var bidValue = $('input#bidValue');
        $('input#makeBid').focus();

        $.ajax({
            type: 'POST',
            url: '/_ajax.auction.php',
            dataType: 'json',
            data: {
                action: 'bid',
                value: bidValue.val()
            }}).
            done(function( response ) {
                if (typeof response.error != 'undefined') {
                    alert(response.error);
                } else {
                    getAuctionData();
                }

            });
    }

    function getChat() {
        var chat = $('div#auctionChat');
        var chatBody = $('div#chatBody');
        $.ajax({
            type: 'POST',
            url: '/_ajax.auction.php',
            dataType: 'json',
            data: {
                action: 'getChat'
            }}).
            done(function( response ) {
                if (typeof response.error != 'undefined') {
                    alert(response.error);
                } else {
                    // remove old messages
                    //$('div.chatMessage').remove();
                    var html = '';
                    var maxMessageId = 0;
                    var index = 50;
                    for(var i in response) {
                        var chatMessageContainer = $('div#chatMessage'+index);

                        var html = '<b style="cursor:pointer" class="user">'+response[i].user+'</b>['+response[i].level+']';
                        html += ' ('+response[i].time_human+'): '+response[i].message;
                        chatMessageContainer.html(html);
                        if ( response[i].vip == 1)
                            chatMessageContainer.addClass('vip');
                        else
                            chatMessageContainer.removeClass('vip');

                        var id = parseInt(response[i].id)
                        if ( id > maxMessageId )
                            maxMessageId = id;
                        index--;
                    }
                    //chatBody.html(html);

                    setTimeout(function() {
                        if (lastMessageId < maxMessageId) {
                            chat.scrollTop(chat.prop('scrollHeight'));
                            lastMessageId = maxMessageId;
                        }
                    }, 100);

                }

            });
    }

    function chatSend() {
        var vipCheckbox = $('input#vip');
        var chatMessage = $('input#chatMessage');
        if (chatMessage.val().trim() == '')
            return;

        var vip = 0
        if (vipCheckbox.is(':checked')) vip = 1;

        $.ajax({
            type: 'POST',
            url: '/_ajax.auction.php',
            dataType: 'json',
            data: {
                action: 'chatSend',
                message: chatMessage.val(),
                vip: vip
            }}).
            done(function( response ) {
                if (typeof response.error != 'undefined') {
                    alert(response.error);
                } else {
                    chatMessage.val('');
                }
            });
    }

    $(document).on('click', 'input#makeBid', function() {
        setBid();
    });
    $(document).on('click', 'input#chatSend', function() {
        chatSend();
    });
    $(document).on('keypress', 'input#chatMessage', function(e) {
        var code = e.keyCode || e.which;
        if ( code == 13 ) chatSend();
    });

    $(document).on('focus', 'input#bidValue', function() {
        bidFieldFocused = true;
    });
    $(document).on('blur', 'input#bidValue', function() {
        bidFieldFocused = false;
    });
    $(document).on('click', 'input#bidValue', function() {
        bidFieldFocused = true;
    });
    $(document).on('keypress', 'input#bidValue', function(e) {
        var code = e.keyCode || e.which;
        if ( code == 13 ) setBid();
    });
    $(document).on('click', 'b.user', function() {
        $('input#chatMessage').val($(this).text()+', '+$('input#chatMessage').val());
        $('input#chatMessage').focus();
        $('input#chatMessage').setCursorPosition($('input#chatMessage').val().length);
    });
    $(document).on('click', 'img.smileyBtn', function() {
        $('input#chatMessage').val($('input#chatMessage').val()+$(this).attr('code'));
        $('input#chatMessage').focus();
        $('input#chatMessage').setCursorPosition($('input#chatMessage').val().length);
    });
    $(document).on('click', 'label#vipLabel', function() {
        var vipCheckbox = $('input#vip');
        var chatMessage = $('input#chatMessage');

        if (vipCheckbox.is(':checked') == false) {
            vipCheckbox.prop('checked', true);
            chatMessage.addClass('vip');
        } else {
            vipCheckbox.prop('checked', false);
            chatMessage.removeClass('vip');
        }
    });


</script>

<div class="s-bk-lf">
    <div class="acc-title">Аукцион</div>
</div>

<div class="silver-bk">
<?php
$access = new access(10);
if ($access->checkBillet()) {
?>
    <p><center><img src="/img/auction-hammer-icon.png" width="130" height="120"><center><br>
    Делайте ставки Господа!
    Ставка должна быть больше предыдущей хотя бы на 1 монету.
    После оплаты ставки в банк добавляется 75% от сделанной ставки.
    После каждой ставки таймер обнуляется.
    Если по истечении заданного количества времени ни один игрок не сможет перекрыть ставку,
    то весь банк выигрывает последний поставивший ставку.(выигрыш зачисляется на счёт победителя автоматически).
    <font color="red">Ставка оплачивается монетами для игр.</font>
    </p>

    <style>
        .aucDigit {
            display: inline-block;
            border-radius: 5px;
            box-shadow: 0px 3px 4px 0px rgba(50, 50, 50, 0.8);
        }
    </style>

    <table width="300" border="0" style="border:0px solid green" align="center">
        <tbody><tr>
            <td style="padding:3px;"><b>Текущий банк:</b></td>
            <td bgcolor="#c7d0cc" style="padding:3px;" align="center" id="bank"><b>0</b></td>
        </tr>
        <tr>
            <td style="padding:3px;"><b>Текущая ставка:</b></td>
            <td style="padding:3px;" align="center" id="bid"></td>
        </tr>
        <tr>
            <td style="padding:3px;"><b>Поставил:</b></td>
            <td style="padding:3px;" align="center" id="user"></td>
        </tr>
        <tr>
            <td style="padding:3px;"><b>До завершения:</b></td>
            <td style="padding:0px;text-align:center;" align="center" id="remainTime"><div class="your-clock" style="zoom: 0.3;"></div></td>
        </tr>
    </tbody></table>
    <br><br>
    <table width="300" border="0" style="border:0px solid green" align="center">
        <tbody><tr>
            <td style="padding:3px;"><b>Ваша ставка:</b></td>
            <td style="padding:3px;" align="center"><input type="text" id="bidValue" value="" size="10"></td>
        </tr>
        <tr>
            <td style="padding:3px;" colspan="3" align="center"><input type="button" id="makeBid" value="Поставить"></td>
        </tr>
    </tbody></table>

    <br><br><center>Стоимость простого сообщения-1 мон VIP-5 мон со счета для игр. <center>
    <center>В чате запрещены попытки сговора, оскорбления, реклама. За нарушение БАН. <center>
    <div id="auctionChatWrap" style="text-align: center;">
        <div id="auctionChat" style="display:inline-block;width:560px;height:160px;overflow-y:scroll; border:0px solid green; text-align: center;padding:3px;font-size:15px;">
            <div id="chatBody" style="text-align:left;">

            </div>
        </div>
        <div id="smileys">
        <?php
            $smileys = array(
                '=)' => 'smile',
                ':thumbs:' => 'THUMBS_UP',
                ':D' => 'laugh',
                ':dance:' => 'dance',
                ':(' => 'sadness',
                ':P' => 'tongue',
                'o_O' => 'wonder',
                'B-)' => 'dirol',
                'T_T' => 'cray',
                '\m/' => 'aggressive'
            );
            foreach($smileys as $code => $smiley) {
                echo '<img style="cursor:pointer;" class="smileyBtn" code="'.$code.'" src="/img/smileys/'.$smiley.'.gif"> ';
            }
        ?>
        </div>
        <input type="text" id="chatMessage" style="width:400px" maxlength="400">
        <input type="checkbox" id="vip"><label id="vipLabel" style="cursor: pointer; color: #aa920d; font-weight: bold;">VIP</label>
        <input style="width:70px" type="button" id="chatSend" value="Отправить"/>

        <!--<input style="width:70px;color:red;" type="button" id="chatSendVip" value="VIP"/>-->

    </div>

    <table id="auctionHistory" cellpadding="3" cellspacing="0" border="0" bordercolor="#336633" align="center" width="99%">
    <tbody><tr>
        <td colspan="5" align="center"><h4></h4></td>
    </tr>
    <tr>
        <th align="center" class="m-tb">Аукцион №</th>
        <th align="center" class="m-tb">Победитель</th>
        <th align="center" class="m-tb">Банк</th>
        <th align="center" class="m-tb">Дата</th>
    </tr>

    </tbody></table>

    <?php } else {
    if (isset($_POST['buybillet'])) {
        if ($access->buyBillet() == false) {
            echo $access->getError();
        }
        else {
            echo '<p style="font-size: 18px; color: green;">Купленный билет будет действителен 5 часов! Для начала игры обновите страницу!</p>';
        }
    }
    else {
?>
<center>
    <b>Цена покупки билета - <?php echo $access->getBilletPrice(); ?></b>
    <form action="" method="post">
        <input type="hidden" name="buybillet" value="1">
        <p><input value="Купить билет" type="submit"></p>
    </form>
</center>
<?php
    }
}
?>
  
    <div class="clr"></div>
</div>
у меня его покосила не стал выравнивать,а насчет проблемы посмотри файла в папке класс там кажется код связан с этими символами
 
alexsoft59
Капитан очевидность...).
Участник
Сообщения
347
Реакции
29
kvozimir написал(а):
у меня его покосила не стал выравнивать,а насчет проблемы посмотри файла в папке класс там кажется код связан с этими символами
Так да,там есть этот файл,но и он написан подобно этому... Хотел весь архив сюда выложить,но нет функции добавить файл...
 
admin
Команда форума
Администратор
Сообщения
605
Реакции
263
alexsoft59 написал(а):
Хотел весь архив сюда выложить,но нет функции добавить файл...
Заливайте на сторонние фо, например Яндекс диск
 
alexsoft59
Капитан очевидность...).
Участник
Сообщения
347
Реакции
29
Sergei написал(а):
Заливайте на сторонние фо, например Яндекс диск
Ну видимо так и придется сделать,главное,что бы кто то смог его поправить...)) Ща выложу на ЯД.. Ну вот и она https://yadi.sk/d/dVzoQkqLeQvbi
 
alexsoft59
Капитан очевидность...).
Участник
Сообщения
347
Реакции
29
Ну что,так ни кто ни чего и не посоветует???
 
MegaGoblin
PHP, JS, AJAX, CSS, HTML
Участник
Сообщения
322
Реакции
72
alexsoft59 написал(а):
Ну что,так ни кто ни чего и не посоветует???
Я могу посоветовать, но не понимаю что тебе надо=)
 
alexsoft59
Капитан очевидность...).
Участник
Сообщения
347
Реакции
29
MegaGoblin написал(а):
Я могу посоветовать, но не понимаю что тебе надо=)
Так сам модуль переделать под обычную FF,там пласхолдеры менять нужно все,а у меня не получается почему то,видать ума не хватает...))
 
MegaGoblin
PHP, JS, AJAX, CSS, HTML
Участник
Сообщения
322
Реакции
72
  • #10
alexsoft59 написал(а):
Так сам модуль переделать под обычную FF,там пласхолдеры менять нужно все,а у меня не получается почему то,видать ума не хватает...))
Ты про вот это?)
PHP:
$user_data = db::getRow("SELECT * FROM db_users_b WHERE id = ?i LIMIT 1", $usid);
Ну вот тебе замена
PHP:
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();
Смысл в том, что плейсхолдер '?i' ты меняешь на переменную после запятой. Если в запросе несколько плейсхолдеров, то они заменяются по порядку) В этом вопрос был?)
 
alexsoft59
Капитан очевидность...).
Участник
Сообщения
347
Реакции
29
  • #11
MegaGoblin написал(а):
Ты про вот это?)
PHP:
$user_data = db::getRow("SELECT * FROM db_users_b WHERE id = ?i LIMIT 1", $usid);
Ну вот тебе замена
PHP:
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();
Смысл в том, что плейсхолдер '?i' ты меняешь на переменную после запятой. Если в запросе несколько плейсхолдеров, то они заменяются по порядку) В этом вопрос был?)
Спасибо конечно,но именно так я и делал,но не прогружается страница-причина одна,неправильное подключение к БД,там файл _classes.php тоже немного по другому написан...
 
MegaGoblin
PHP, JS, AJAX, CSS, HTML
Участник
Сообщения
322
Реакции
72
  • #12
alexsoft59 написал(а):
Спасибо конечно,но именно так я и делал,но не прогружается страница-причина одна,неправильное подключение к БД,там файл _classes.php тоже немного по другому написан...
Включи вывод ошибок, в начале файла пропиши
PHP:
ini_set("display_errors", "1");
ini_set("display_startup_errors", "1");
ini_set('error_reporting', E_ALL);
И смотри какие ошибки у тебя.

И еще у тебя в коде из первого поста создается объект класса access
PHP:
$access = new access(10);
Но я нигде не вижу, чтобы этот класса был определен.

Ты в новом файле _class.db не забыл вписать параметры подключения (логин, пароль имя БД)?
 
alexsoft59
Капитан очевидность...).
Участник
Сообщения
347
Реакции
29
  • #13
MegaGoblin написал(а):
Включи вывод ошибок, в начале файла пропиши
PHP:
ini_set("display_errors", "1");
ini_set("display_startup_errors", "1");
ini_set('error_reporting', E_ALL);
И смотри какие ошибки у тебя.

И еще у тебя в коде из первого поста создается объект класса access
PHP:
$access = new access(10);
Но я нигде не вижу, чтобы этот класса был определен.

Ты в новом файле _class.db не забыл вписать параметры подключения (логин, пароль имя БД)?
Так в том то и дело,что там сам файл _class.db.php имеет совершенно другую структуру,сам смотрел его?
 
MegaGoblin
PHP, JS, AJAX, CSS, HTML
Участник
Сообщения
322
Реакции
72
  • #14
alexsoft59 написал(а):
Так в том то и дело,что там сам файл _class.db.php имеет совершенно другую структуру,сам смотрел его?
У тебя уже есть стандартный класс для работы с БД. Все что тебе надо - это переписать функции в модуле, которые обращаются к новому классу. Обращения к классу начинаются так: 'db::' или '$db->'.

И еще раз говорю, я не могу найти где у тебя описан класс "access", экземпляр которого создается.

Если ты не можешь самостоятельно переписать, то поскидывай строки с обращением к новому классу 'db'. В целях безопасности, я на работе не скачиваю файлы, в которых я не уверен=)
 
alekse479
Местный
Сообщения
56
Реакции
2
  • #15
Я не много пошарился по файлам и сейчас у меня вот такая ошибка:
Скрытое содержимое для зарегистрированных пользователей!
Fatal error: Class 'access' not found in F:\OpenServer\domains\mon\pages\account\_auc.php on line325
 
MegaGoblin
PHP, JS, AJAX, CSS, HTML
Участник
Сообщения
322
Реакции
72
  • #16
alekse479 написал(а):
Я не много пошарился по файлам и сейчас у меня вот такая ошибка:
Автор уже знает, что такая ошибка есть, т.к. он не скинул еще один файл
 
alekse479
Местный
Сообщения
56
Реакции
2
  • #17
MegaGoblin написал(а):
Автор уже знает, что такая ошибка есть, т.к. он не скинул еще один файл
какой?
 
alexsoft59
Капитан очевидность...).
Участник
Сообщения
347
Реакции
29
  • #19
Да,действительно,там в папке classes есть файл _class.access.php и вот его код

PHP:
<?php
class access {
    private $modules;
    private $mid;
    private $uid;
    private $error = '';
    private $incr = false;
    public function __construct($mid) {
        $this->mid = $mid;
        $this->uid = $_SESSION['user_id'];
        db::query('DELETE FROM db_billets WHERE date<?i', time()-(60*60*3));
        // ID  => Цена
        $this->modules = array(
            0=>100,// Двадцать одно
            1=>100, // Лотерея
            2=>100, // Коробка удачи
            3=>1000, // Аукцион
            4=>50, // Напёрстки
            5=>0, // Найти флобисы
            6=>100, // Сапёр
            7=>50, // Гонки
            8=>50, // Орёл-решка
            9=>50, // Кости
            10=>50, // Простой аукцион
        );
    }
   
    public function checkBillet() {       
        $billet = db::getRow('SELECT id FROM db_billets WHERE module_id=?i AND user_id=?i', $this->mid, $this->uid);
        if (!isset($billet['id'])) {
            return false;
        }
       
        return true;
    }
   
    public function getBilletPrice() {
        return $this->modules[$this->mid];
    }
   
    public function buyBillet() {
        $user_id = $this->uid;
        $start_sum = $this->modules[$this->mid];
        $user_data = db::getRow('SELECT money_b FROM db_users_b WHERE id=?i', $user_id);
        if ($user_data['money_b'] < $start_sum) {
            $this->error = '<p style="font-size: 18px; color: red; text-align: center;">На вашем счету недостаточно средств!</p>';
            return false;
        }
       
        db::query('UPDATE db_users_b SET money_b = money_b-?s WHERE id=?i', $start_sum, $user_id);
        db::query('INSERT INTO db_billets SET module_id=?i, user_id=?i, user_name=?s, date=?i',
        $this->mid, $user_id, $_SESSION['user'], time());

       
        echo '<script type="text/javascript">location.reload();</script>';
    }

public function winGame($sum) {
    if ($this->incr == false) {
        db::query('UPDATE db_stats SET all_games = all_games + 1');
        $this->incr = true;
    }
     return $sum;
}
   
    public function getError() {
        return $this->error;
    }
}
?>
Он используется для покупки билетов на игры...
 
alekse479
Местный
Сообщения
56
Реакции
2
  • #20
После того как поменял файл _class.db.php На тот который в архиве вообще сайт не грузит))
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху