Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.02.2011, 23:46   #1
marius
Новичок
Джуниор
 
Регистрация: 14.02.2011
Сообщений: 2
По умолчанию Warning: Invalid argument supplied for foreach()

всем привет!помогите пожалуйста.кароче создал свой сервер бф 2 с ведением статистики игры и столкнулся с проблемами в скриптах файлов php.где было легче яи сам исправил но вот с данной ошибкой не могу разобратся что к чему.
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\bf2statistics\playe r.php on line 404
в этом месте должна стоять таблица с изображениями рисунков открытых либо закрытых анлоков оружия.
в програмировании я не оч мало что понимаю.как можно исправить это?

изображение 1 с ошибкой
изображение 2 как должно выглядеть


тут кусок где ошибка ,но залил и целый файл player.php:

...
<?php } ?>
</table><br>
<table border="0" cellspacing="0" cellpadding="0" class="info">
<tr>
<td align="left" style="background-color: #3f3f3f"><b>Weapon</b></td>
<td align="center" style="background-color: #3f3f3f"><b>Time</b></td>
<td align="center" style="background-color: #3f3f3f"><b>Kills</b></td>
<td align="center" style="background-color: #3f3f3f"><b>Deaths</b></td>
<td align="center" style="background-color: #3f3f3f"><b>K/D Ratio</b></td>
<td align="center" style="background-color: #3f3f3f"><b>Accuracy</b></td>
</tr>
<?php foreach( $stats->weaponKey as $n => $name ) { ?>
<tr>
<td align="left"><?php echo $name; ?></td>
<td align="center" nowrap><?php echo $stats->stat('wtm-'.$n); ?></td>
<td align="center"><?php echo $stats->stat('wkl-'.$n); ?></td>
<td align="center"><?php echo $stats->stat('wdt-'.$n); ?></td>
<td align="center"><?php echo $stats->stat('wkd-'.$n); ?></td>
<td align="center"><?php echo $stats->stat('wac-'.$n); ?></td>
</tr>
<?php } ?>
</table>
</td>
</tr>
</table><br>
<?php if( $stats->awards ) { ?>
<table border="0" cellspacing="0" cellpadding="0" class="awards">
<tr>
<td align="center" style="background-color: #3f3f3f" colspan="2"><b>Awards</b></td>
</tr>

<?php
foreach( $stats->awards as $data )
{
$award = $data['award'];
$award_name = $data['award'];
if( $data['type'] == '1' )
{
// badges
$award_name .= "_" . $data['level'];
$badges .= '<img height="96" width="96" src="' . $resources_dir . '/graphics/awards/badges/' . $award_name . '.png" alt="<big><big><big>' . $stats->awardsKey[$award_name]['name'] . '</big></big></big><br>' . str_replace(array("\n",'"'),'',nl2b r($stats->awardsKey[$award_name]['desc'])) . '"> ' . "\n\t";
} else if( $data['type'] == '2' ) {
// medals
$medals .= '<img height="96" width="96" src="' . $resources_dir . '/graphics/awards/medals/' . $award_name . '.png" alt="<big><big><big>' . $stats->awardsKey[$award_name]['name'] . ' x ' . $data['level'] . '</big></big></big><br>' . str_replace(array("\n",'"'),'',nl2b r($stats->awardsKey[$award_name]['desc'])) . '"> ' . "\n\t";
} else if( $data['type'] == '3' ) {
// ribbons
$ribbons .= '<img height="96" width="96" src="' . $resources_dir . '/graphics/awards/ribbons/' . $award_name . '.png" alt="<big><big><big>' . $stats->awardsKey[$award_name]['name'] . '</big></big></big><br>' . str_replace(array("\n",'"'),'',nl2b r($stats->awardsKey[$award_name]['desc'])) . '"> ' . "\n\t";
}
}
?>

<tr>
<td align="center"><b>Badges</b></td>
<td align="left"><?php echo $badges; ?></td>
</tr>
<tr>
<td align="center"><b>Medals</b></td>
<td align="left"><?php echo $medals; ?></td>
</tr>
<tr>
<td align="center"><b>Ribbons</b></td>
<td align="left"><?php echo $ribbons; ?></td>
</tr>
</table>

<?php } else { ?>

<table border="0" cellspacing="0" cellpadding="0" class="awards">
<tr>
<td align="center" style="background-color: #3f3f3f" colspan="2"><b>Awards</b></td>
</tr>
<tr>
<td align="center">Badges, Medals, Ribbons</td>
<td align="center">None yet. Get on that soldier!</td>
</tr>
</table>

<?php } ?>
<br>

<? include("unlocks.php"); ?>
<table border="0" cellspacing="0" cellpadding="0" class="awards">
<tr>
<td align="center" style="background-color: #3f3f3f"><b>Unlocks</b></td>
</tr>
<tr>
<td>
404 <?php foreach($weaponIsUnlocked as $number => $Unlocked){ ?>
<img src="<?php echo $resources_dir; ?>/graphics/unlocks/<? echo $number ?>_<? echo $unlocked ?>.png" alt="<? echo $weaponDesc[$number] ?>" align="left">
<? } ?>
</td>
</tr>
</table><br>

</div>

<?php }} else { ?>

<div align="center">
<b>Error:</b> <?php echo $stats->error; ?><br><br>
Could not load stats for PID "<?php echo $_GET['pid']; ?>"<br><br>
<input type="button" value="Back" onclick="history.back();">
</div>
<br><hr width="600">

<?php } ?>

<?php require('footer.php'); ?>
Изображения
Тип файла: jpg osibka.jpg (67.6 Кб, 125 просмотров)
Тип файла: jpg normalinii.jpg (32.7 Кб, 129 просмотров)
Вложения
Тип файла: txt player.txt (16.3 Кб, 129 просмотров)
marius вне форума Ответить с цитированием
Старый 14.02.2011, 23:59   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Переменная $weaponIsUnlocked отсутствует, или не является массивом.

По идее - она приходит из файла unlocks.php, который подключается 7-ю строками выше ошибки.

Смотрите там - создаётся ли эта перменная.
Andkorol вне форума Ответить с цитированием
Старый 18.02.2011, 15:05   #3
marius
Новичок
Джуниор
 
Регистрация: 14.02.2011
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Переменная $weaponIsUnlocked отсутствует, или не является массивом.

По идее - она приходит из файла unlocks.php, который подключается 7-ю строками выше ошибки.

Смотрите там - создаётся ли эта перменная.
в файле unlocks.php нашёл кое чего с $weaponIsUnlocked,но я не знаю правильно всё написано ,или криво.вот:
PHP код:
<?
ini_set
(user_agent,"GameSpyHTTP/1.0"); 
// usefull info
// http://bf2.fun-o-matic.org/index.php/Main_Page
function toZeroOrOne($char) {
    if(
$char == "s") {
        return 
1;
    } else {
        return 
0;
    }
}

function 
getData($url) { // get data from a URL using either file() or CURL
    
if( function_exists('file') && function_exists('fopen')) { // try file() first
        
$raw = @file($url);
    }

    if( !
$raw ) { // either there was no function, or it failed -- try curl
        
$curl_handle curl_init();
        
curl_setopt($curl_handleCURLOPT_URL$url);
        
curl_setopt($curl_handleCURLOPT_RETURNTRANSFER1);
        
curl_setopt($curl_handleCURLOPT_CONNECTTIMEOUT1);
        
curl_setopt($curl_handleCURLOPT_TIMEOUT10);
        
$raw curl_exec($curl_handle);
        
$err curl_error($curl_handle);
        if( 
$err != '' ) {
            return 
false;
        }
        
$raw explode("\n",trim($raw));
        
curl_close($curl_handle);
    }

    if( !
$raw // still nothing, forgetd a'bout it
        
return false;

    
// trim it up!
    
@array_walk($raw'file_trim');

    return 
$raw;
}

$currentWeaponNumber = array('11','22','33','44','55','66','77' ,'88','99','111','222','333','444','555');

if(
is_numeric($_GET['pid'])) {
    
$url $asp.'/getunlocksinfo.aspx?pid=' $_GET['pid'];
} else {
    
$url $asp.'/getunlocksinfo.aspx?nick=' $_GET['pid'];
}

// Get Unlocks info
$data getData($url);

// Set array as empty
$weaponIsUnlocked = array();
foreach(
$currentWeaponNumber as $weapon) {
    
$weaponIsUnlocked[$weapon] = 0;
}
//changed to go through the array instead of counting up form 1 to 14
foreach ($data as $line) {
    
$values explode("\t",$line);
    if (
trim($values[0]) == 'D' && in_array(trim($values[1]), $currentWeaponNumber)) {
        
$weaponIsUnlocked[trim($values[1])] = toZeroOrOne(trim($values[2]));
    }
}
// array maken met als elementen strings die een korte beschrijving van het wapen geven
$weaponDesc = array('11'=>"
        <big><big><big>DAO-12</big></big></big><br><i>
        Anti-tank</i><br>
        <img src=
$resources_dir/graphics/unlocks/dao.png>
        "
,
    
'22'=>"
        <big><big><big>G3</big></big></big><br><i>
        Assault</i><br>
        <img src=
$resources_dir/graphics/unlocks/G3A3.png>
        "
,
    
'33'=>"
        <big><big><big>MK3A1</big></big></big><br><i>
        Engineer</i><br>
        <img src=
$resources_dir/graphics/unlocks/Jackh.png>
        "
,
    
'44'=>"
        <big><big><big>L85A1</big></big></big><br><i>
        Medic</i><br>
        <img src=
$resources_dir/graphics/unlocks/sa80.png>
        "
,
    
'55'=>"
        <big><big><big>G36C</big></big></big><br><i>
        Spec-ops</i><br>
        <img src=
$resources_dir/graphics/unlocks/g36c.png>
        "
,
    
'66'=>"
        <big><big><big>PKM</big></big></big><br><i>
        Support</i><br>
        <img src=
$resources_dir/graphics/unlocks/pkm.png>
        "
,
    
'77'=>"
        <big><big><big>M95</big></big></big><br><i>
        Sniper</i><br>
        <img src=
$resources_dir/graphics/unlocks/m95.png>
        "
,
    
'88'=>"
        <big><big><big>FN2000</big></big></big><br><i>
        Assault(SF)</i><br>
        <img src=
$resources_dir/graphics/unlocks/fn2000.png>
        "
,
    
'99'=>"
        <big><big><big>MP-7</big></big></big><br><i>
        Engineer(SF)</i><br>
        <img src=
$resources_dir/graphics/unlocks/mp7.png>
        "
,
    
'111'=>"
        <big><big><big>G36E</big></big></big><br><i>
        Medic(SF)</i><br>
        <img src=
$resources_dir/graphics/unlocks/g36e.png>
        "
,
    
'222'=>"
        <big><big><big>FN SCAR-L</big></big></big><br><i>
        Spec-ops(SF)</i><br>
        <img src=
$resources_dir/graphics/unlocks/fnscarl.png>
        "
,
    
'333'=>"
        <big><big><big>MG36</big></big></big><br><i>
        Support(SF)</i><br>
        <img src=
$resources_dir/graphics/unlocks/mg36.png>
        "
,
    
'444'=>"
        <big><big><big>P90</big></big></big><br><i>
        Anti-tank(SF)</i><br>
        <img src=
$resources_dir/graphics/unlocks/p90.png>
        "
,
    
'555'=>"
        <big><big><big>L96A1</big></big></big><br><i>
        Sniper(SF)</i><br>
        <img src=
$resources_dir/graphics/unlocks/l96a1.png>
"
);
?>
marius вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка Invalid argument StartMis Общие вопросы Delphi 7 24.11.2010 00:35
в чём причина ошибки - mysql_num_rows(): supplied argument is not a valid vedro-compota PHP 6 23.09.2010 16:12
mysql_free_result(): supplied argument is not a valid MySQL result resource in lbkzhf SQL, базы данных 1 30.07.2010 16:46
Format '%1 ' invalid or incompatible with argument ImmortalAlexSan Общие вопросы Delphi 19 30.03.2010 21:15
invalid procedure call or argument igorrt Microsoft Office Access 1 03.03.2009 16:35