За последние 24 часа нас посетили 22908 программистов и 1236 роботов. Сейчас ищут 789 программистов ...

Передача переменной

Тема в разделе "JavaScript и AJAX", создана пользователем Владимир11, 13 мар 2019.

  1. Владимир11

    Владимир11 Активный пользователь

    С нами с:
    20 май 2018
    Сообщения:
    140
    Симпатии:
    0
    Ребят помогите скрипт бонусника
    PHP:
    1. <?PHP
    2. $_OPTIMIZATION["title"] = "Ежедневный бонус";
    3. $usid = $_SESSION["user_id"];
    4. $uname = $_SESSION["user"];
    5.  
    6. ?>
    7. <script LANGUAGE="JavaScript1.1">
    8. document.oncontextmenu = function(){return false;};
    9. </script>
    10. <script>setInterval(function(){
    11. $("#bonus").load("# #bonus"); }, 1000); </script>
    12.  
    13.  
    14.         <div class="left-content section grid-70 np-mobile">
    15.             <article>
    16.                 <h1 id="page-title" class="title large bordered">Бонус</h1>
    17.                 <div class="text textcenter">
    18. <center>
    19. Бонус выдается 1 раз каждые 10 минут. Размер бонуса определяется случайным образом от <b class="text-danger"><?=$bonus_min/1000;?></b> до <b class="text-success"><?=$bonus_max/1000;?></b> руб.
    20. <center><h2><p style="color:red" id="bounce"></p></h2></center>
    21. </center>
    22.  
    23.  
    24. <div id="btn">
    25. <?PHP
    26. $ddel = time() + 6;
    27. $dadd = time();
    28. $db->Query("SELECT COUNT(*) FROM db_bonus_listt WHERE user_id = '$usid' AND date_del > '$dadd'");
    29.  
    30. $hide_form = false;
    31.  
    32.     if($db->FetchRow() == 0){
    33.  
    34.             $db->Query("DELETE FROM db_bonus_listt WHERE date_del < '$dadd'");
    35.            
    36.             # Показывать или нет форму
    37.            if(!$hide_form){
    38. ?>
    39.  
    40.  
    41. <center>
    42.  
    43. <button id="bonusform" name="bonus" class="epcl-shortcode epcl-button regular outline green" style="width: 40%;">ЗАБРАТЬ БОНУС</button>
    44. <br><br>
    45. </center>
    46.  
    47.  
    48. <?PHP
    49.  
    50.             }
    51.  
    52.     }else
    53.     {
    54.        // echo "<center><font color = '#b06100'>Вы уже получали бонус за последний час</font></center><BR />";
    55. $db->Query("SELECT * FROM db_bonus_listt WHERE user_id = '$usid' AND date_del > '$dadd'");
    56. $u_data = $db->FetchArray();
    57. $time = $u_data['date_del'] - $dadd;
    58. $time2 = $u_data['date_del'];
    59. $hours = floor($time/60);
    60. floor($minutes =($time/60 - $hours)*60);
    61. $seconds = ceil(($minutes - floor($minutes))*60);
    62. $min=ceil($minutes)-1;
    63.         ?>
    64.         <hr>
    65. <center><p id="bounce2"><i class="fa fa-clock"></i>
    66. <?echo '<br><div id="bonus"><center>Осталось: ';
    67. echo json_encode($hours);echo ' мин.  ';echo json_encode($min);echo ' сек.  ';
    68. echo '</center></div><BR />';?>
    69. </p></center>
    70.  
    71.  
    72.         <hr>
    73.        
    74.         <?php
    75.     }
    76. ?>
    77. <script type="text/javascript">
    78.  
    79. function changeTitle(start, end){
    80.   document.title = start;
    81. if(end < start) {
    82.    setTimeout(changeTitle,1000, start - 1, end)
    83. }
    84. if(start == 0) {document.title = "Заберите бонус";
    85.  
    86.   var audio = new Audio(); // Создаём новый элемент Audio
    87.   audio.src = '../../texte/1.mp3'; // Указываем путь к звуку "клика"
    88.   audio.autoplay = true; // Автоматически запускаем
    89.  
    90. setTimeout(
    91.  
    92.          function() {
    93.  
    94.              location.reload();
    95.  
    96.         }, 4000
    97.  
    98.         );
    99. }
    100. }
    101.  
    102. changeTitle(<?=$min;?>, 0);
    103.  
    104.  
    105. </script>
    106. <?=$min;?>
    107.  
    108. </div>
    109.                     <div class="thw-autohr-bio" id="refr_table">
    110.                       <table style="width: 100%;">
    111.   <?PHP
    112.  
    113.   $db->Query("SELECT * FROM db_bonus_listt ORDER BY id DESC LIMIT 20");
    114.  
    115.     if($db->NumRows() > 0){
    116.  
    117.           while($bon = $db->FetchArray()){
    118.        
    119.         ?>
    120. <h4>
    121. <div class="grid-25">
    122. <small>ID<br><span>#<?=$bon["id"]; ?></span></small>
    123. </div>
    124. <div class="grid-25">
    125. <small>Кошелек<br><span><?=$bon["user"]; ?></span></small>
    126. </div>
    127. <div class="grid-25">
    128. <small>Сумма<br><span> <?=sprintf("%.2f",$bon["sum"]); ?></span> <font color="#f9234b"><b>RUB</b></font></small>
    129. </div>
    130. <div class="grid-25">
    131. <small>Дата<br><span><?=date("H:i",$bon["date_add"]); ?></span></small>
    132. </div>
    133. </h4>
    134. <br>
    135.         <?PHP
    136.        
    137.         }
    138.  
    139.     }else echo '<tr><td align="center" colspan="5">Ещё никто не получил бонус</td></tr>'
    140.   ?>
    141.                       </table>
    142.                     </div>
    143.                 </div>          
    144.             </article>
    145.         </div>
    146.          <script>
    147.     $(document).ready(function(){
    148.             $("#bonusform").click(function() {
    149.                 $.ajax({
    150.                     url: "../ajax/ajaxbonus.php",
    151.                     type: "POST",
    152.                     success: function(data){
    153.                     if (data) {
    154.                     $("#bounce").text(" "+data+" ").addClass("animated bounceIn");
    155.                     $("#bounce2").text(" "+data+" ").addClass("animated fadeInUp");
    156.                     $('#refr_table').load('# #refr_table');
    157.                     $('#btn').load('# #btn');
    158.                     $('#balance').load('# #balance');
    159.                  
    160.                     }else {
    161.                         $("#err").text("ошибка 2");
    162.                     }
    163.                     },
    164.                     error: function(){        
    165.                 alert("Данные не переданы!");        
    166.                 }
    167.                 });
    168.              
    169.             });
    170.     });
    171. </script>


    PHP:
    1. <?
    2. $usid=$_SESSION['user_id'];
    3. $uname = $_SESSION["user"];
    4.  
    5. function __autoload($name){ include($_SERVER['DOCUMENT_ROOT']."/classes/_class.".$name.".php");}
    6. $config = new config;
    7. $db = new db($config->HostDB, $config->UserDB, $config->PassDB, $config->BaseDB);
    8.  
    9. $ddel = time() + 6;
    10. $dadd = time();
    11. $db->Query("SELECT COUNT(*) FROM db_bonus_listt WHERE user_id = '".$_SESSION['user_id']."' AND date_del > '$dadd'");
    12. if($db->FetchRow() == 0){
    13.  
    14. # Настройки бонусов
    15. # Настройки бонусов
    16. $probability = [
    17.     '50' => 90,
    18.     '100' => 90,
    19.     '300' => 90
    20. ];
    21. $sum = 0;
    22. foreach($probability as $k => $v) $sum += $v;
    23. $rand = rand(0, $sum);
    24. $pos = 0;
    25. $res = '';
    26. foreach($probability as $k => $v) {
    27.     $next_pos = $pos + $v;
    28.     if($rand >= $pos && $rand <= $next_pos) {
    29.         $res = $k;
    30.         break;
    31.     }
    32.     $pos = $next_pos;
    33. }
    34. if($res == 50) {$kart =  rand(1,9885);}
    35. elseif($res == 100){ $kart =  rand(9886,9985);}
    36. elseif($res == 300){ $kart =  rand(9986,9993);}
    37.     //echo $sum;
    38.     $db->Query("UPDATE db_users_b SET money_p = money_p + '$res' WHERE id = '$usid'");
    39.     $db->Query("INSERT INTO db_bonus_listt (user, user_id, sum, date_add, date_del) VALUES ('$uname','".$_SESSION['user_id']."','$res','$dadd','$ddel')");
    40.     echo "ЗАЧИСЛЕНО ".$res." RUB";
    41. } else echo "Вы уже получали бонус за последние 10 минут!";
    42.  
    43. ?>

    Не отображается переменная $min в js

    Код (Javascript):
    1. <script type="text/javascript">
    2.  
    3. function changeTitle(start, end){
    4.   document.title = start;
    5. if(end < start) {
    6.    setTimeout(changeTitle,1000, start - 1, end)
    7. }
    8. if(start == 0) {document.title = "Заберите бонус";
    9.  
    10.   var audio = new Audio(); // Создаём новый элемент Audio
    11.   audio.src = '../../texte/1.mp3'; // Указываем путь к звуку "клика"
    12.   audio.autoplay = true; // Автоматически запускаем
    13.  
    14. setTimeout(
    15.  
    16.          function() {
    17.  
    18.              location.reload();
    19.  
    20.         }, 4000
    21.  
    22.         );
    23. }
    24. }
    25.  
    26. changeTitle(<?=$min;?>, 0);
    27.  
    28.  
    29. </script>
    --- Добавлено ---
    Если ее писать не в скрипте то даже без перезагрузки отображается а если в js то только после перезагрузки с ajax знаком всего день и не могу понять, если вместо переменной самому написать число то все работает
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Опять пирамиды?
     
  3. Владимир11

    Владимир11 Активный пользователь

    С нами с:
    20 май 2018
    Сообщения:
    140
    Симпатии:
    0
    Если ее писать не в скрипте то даже без перезагрузки отображается а если в js то только после перезагрузки с ajax знаком всего день и не могу понять, если в
    из всего кода ток js меняющий титле мой
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Как это отвечает на мой вопрос?
     
  5. lastdays

    lastdays Активный пользователь

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
    Какой смысл хранить любой таймер в сессии, если после перезахода все будет сброшено?
    Какой-то условный идентификатор ещё ладно, чтобы определить, кто вася, а кто петя, остальное все в таблицах базы данных, как минимум.
     
  6. Владимир11

    Владимир11 Активный пользователь

    С нами с:
    20 май 2018
    Сообщения:
    140
    Симпатии:
    0
    так он и так в базе дате ад - текущее время дате адд в базе
     
  7. lastdays

    lastdays Активный пользователь

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
    Друг, я понимаю, что кто то там у тебя есть и где то хранится.. Ты чего хочешь то, передать переменную? Ну так передай.

    param=value
    Если есть переходы по сайту (ссылки/клики).. Сохрани эту информацию, мол
    $_SESSION["param"] = $_GET["param"];

    Проверь, что информация достоверная, т.е. наличие пользователя в базе данных - ОК.
    А там, по обстоятельствам действуй, в зависимости, что тебе необходимо.

    Либо вопрос иначе задай.