Имеется код, в котором идет получение данных класса товара, его фото и имени покупателя. Результаты фейковые. Но почему-то получение проходит через раз. Прошу помощи в фиксе данного вопроса. Прилагаю куски кода: Код (Javascript): var lastWinners=$('#lastWinners') function loadLastWinners(){if(openingCase)return;$.ajax({url:'/ajax/ajax_lastorders.php',type:'POST',dataType:'json',data:{action:'lastWinners'},success:function(data){var nickname;try{data.reverse().forEach(function(item){if(lastWinners.find('.item'+item.id).length==0){if(item.fake_nickname=='')nickname=item.v_nickname;else nickname=item.fake_nickname;var el=$('<div title="'+item.firstName+'" class="oflo '+item.type+'">'+'<img src="'+getImage(item.image)+'" />'+'<div class="ofloname">'+nickname+'</div>'+'</div>') el.hide().addClass('item'+item.id);lastWinners.prepend(el) el.fadeIn(1000)}}) lastWinners.find(".oflo:gt(9)").remove() $('.oflo').tooltip()}catch(e){}},error:function(){}})}function bagSS(){if($('#lastWinners')[0].innerHTML==""){loadLastWinners();}}setInterval(bagSS,1000) setInterval(loadLastWinners,winnersInterval) PHP: <?php include('classCases.php'); $minUpdTime = 1; if(rand(0,3) == 1 && filectime('cron_info.php') < time()-$minUpdTime){ $itemsCount = 10; $operationval = array_rand($arr, 1); $case = $arr[$operationval]; $random = steamRandom(0, $operationval, $arr); $cases = $case[$random][3]; $case = $case[$random]; $image = $case[3]; $type = $case[2]; $firstName = $case[0]; /*----------------------------------*/ $name = explode("\r", file_get_contents('fakename.php')); $v_nickname = trim($name[mt_rand(0, count($name)-1)]); $arrs = json_decode(file_get_contents('cron_info.php'), true); $new_tmp = array( 'id' => $arrs[0]['id']+1, 'fake_nickname' => "$v_nickname", 'fake' => '1', 'image' => "$image", 'type' => "$type", 'firstName' => "$firstName", 'v_nickname' => '$v_nickname', 'from_social' => 'vk' ); $arrsse[] = $new_tmp; for($i=0; $i<$itemsCount-1; $i++) $arrsse[] = $arrs[$i]; file_put_contents('cron_info.php', ''); $file_hendle = fopen('cron_info.php', 'w'); fputs($file_hendle, json_encode($arrsse)); fclose($file_hendle); } include('cron_info.php'); function steamRandom($skill, $case, $arr) { switch ($skill) { case 0: $fora = 75;// 0 - 99 $fora = 10 * $fora; $rand = mt_rand($fora, 1000); break; //50 case 1: $rand = mt_rand(0,1000); break; //70 case 2: $rand = mt_rand(700,1000); break; //90 case 3: $rand = mt_rand(999,1000); break; } if($rand >= 0 && $rand < 797) { // milspec foreach($arr[$case] as $key => $val) if($val[2] == 'milspec') $arrs[] = $key; return $arrs[rand(0, count($arrs)-1)]; } if($rand >= 797 && $rand < 850) { // restricted foreach($arr[$case] as $key => $val) if($val[2] == 'restricted')$arrs[] = $key; return $arrs[rand(0, count($arrs)-1)]; } if($rand >= 850 && $rand < 971) { // classified foreach($arr[$case] as $key => $val) if($val[2] == 'classified')$arrs[] = $key; return $arrs[rand(0, count($arrs)-1)]; } if($rand >= 971 && $rand < 990) { // covert foreach($arr[$case] as $key => $val) if($val[2] == 'covert')$arrs[] = $key; return $arrs[rand(0, count($arrs)-1)]; } if($rand >= 990) { // rare foreach($arr[$case] as $key => $val) if($val[2] == 'rare')$arrs[] = $key; return $arrs[rand(0, count($arrs)-1)]; } return rand(0, count($arr[$case])-1); } exit; ?> PHP: <? function loadsHtmlLast(){ $arrs=json_decode(file_get_contents($_SERVER["DOCUMENT_ROOT"]."/ajax/cron_info.php"),true); $prefix = ""; for($i=0;$i<10;$i++){ $html .=<<<HTML <div title="" class="oflo {$arrs[$i]["type"]} item{$arrs[$i]["id"]}" style="" data-original-title="{$arrs[$i]["firstName"]}"> <img src="//site.ru{$arrs[$i]["image"]}"> <div class="ofloname">{$arrs[$i]["fake_nickname"]}</div></div> HTML; } return $html; } ?>
Надо в этот момент посмотреть что там в программе творится, какие переменные какие значения содержат и как идёт выполнение. Так как ты знаешь как должно быть, то сможешь понять где что-то пошло не так или от проблемы подняться выше. Вот инструкции, чтобы знать что делать отладка/debug http://phpfaq.ru/debug https://netbeans.org/kb/docs/php/debugging_ru.html https://php.ru/forum/threads/howto-...i-po-shagam-i-s-kartinkami.58974/#post-474550
У PHP есть настройки, например php.ini, там можно настроить чтобы ошибки писались например в error.log, он будет создан в той же папки что и скрипт с ошибкой после запуска. Если ты включил отображение ошибок прямо на странице, то смотри на страницу и проверяй исходный код в браузере, чтобы не пропустить ничего, не спутай с DOM. Это первая ссылка что я дал. Если подключил xdebug, то ошибки станут информативнее и красивей, тоже на странице их смотри. Способ с интерактивный, смотри по второй и третьей ссылке. Там везде даже картинки есть.