| |
|
|
| | sostav.php
<table width=100% bordercolor=#EDB958 cellspacing=1 cellpadding=2 border=1>
<tr bgcolor=#EDB958>
<td width="15" align=center>
<b>№</b></td><td align=center>
<b>Имя</b></td><td width=250 align=center>
<b>Звание</b></td><td align=center>
<b>Город</b></td><td align=center>
<b>Комната</b></td><td align=center>
<b>Он-лайн</b></td>
</tr>
<?php
$usr['login'][1] = "Первый%20маг";
$usr['zvan'][1] = "Глава клана";
$usr['login'][2] = "Legolasiman";
$usr['zvan'][2] = "Глава клана";
?>
<?php
// Другие пользователи
for($i = 1; $i <= count($usr['login']); $i++)
{
$login = $usr['login'][$i];
$nomer = $i;
$zvan = $usr['zvan'][$i];
$rlogin = urlencode($login);
include("inc/inc.php");
include("inc/index1.php");
}
?>
|
inc.php
<?php
$znak ='<img src="http://img.combats.ru/i/align1.gif" border="0" height="15" width="12"><img src="http://bkdevil.ho.com.ua/cutenews/data/upimages/24x15_2.gif" border="0" height="15" width="24">';
$inf = '<a href="http://capitalcity.combats.ru/inf.pl?login='.$login.'" target="_blank"><img src="http://capitalcity.combats.ru/i/inf.gif" title=" Информация об игроке" alt="" border="0" height="11" width="12"></a>';
$lines = file("http://capitalcity.combats.ru/inf.pl?login=".$login."&short=1");
foreach($lines as $value)
{
list($var, $val) = split("\=",$value);
$arr['some_key'] = 'some value';
$arr[$var] = $val;
}
?>
|
index1.php
<tr bgcolor=#EDB958>
<td width="15" align=center><b>
<?php echo ($nomer); ?>
</b></td>
<td align=center><b>
<?php echo ($znak); echo ($login); ?>
[ <?php echo "<font face=verdana>".$arr['level']."</font>";
?>]<?php echo ($inf); ?>
</b></td>
<td width=250 align=center><b>
<?php echo ($zvan); ?>
</b></td>
<td align=center><b>
<?php
echo "<font face=verdana>".$arr['gamecity']."</font>";
?>
<td align=center><b>
<?php
echo "<font face=verdana>".$arr['room_name']."</font>";
?>
</b></td>
<td align=center><b>
<?php
if ($arr['login_online']==1)echo ("<font color=#008000>Он-лайн</font>");
else echo ("<font color=red>Оф-лайн</font>");
?></b></td>
</tr>
|
Он берет инфу к примеру с http://angelscity.combats.ru/inf.pl?login=Первый%20маг&short=1 и в зависимости от значения выводит на страницу. Так вот проблема в чем, когда в
$usr['login'][2] = " ";
$usr['zvan'][2] = " ";
|
стоит логин без пробела то все нормально выводит, а если в нике есть пробел то выдает вот такую ошибку
Warning: file(): HTTP request failed! HTTP/1.0 400 Bad Request in c:\appserv\www\devil\inc\inc.php on line 4
Warning: file(http://capitalcity.combats.ru/inf.pl?login=Первый%20маг&short=1): failed to open stream: No error in c:\appserv\www\devil\inc\inc.php on line 4
Warning: Invalid argument supplied for foreach() in c:\appserv\www\devil\inc\inc.php on line 5
|
И еще вводишь несколько значений к примеру
$usr['login'][1] = "Acnerd";
$usr['zvan'][1] = "Глава клана";
$usr['login'][2] = "Legolasiman";
$usr['zvan'][2] = "Глава клана";
?>
|
То если первый он-лайн то и остальных выводит что он-лайн. Короче как то что бы информация массива не повторялась, а менялась. Если как то не прально обьяснил...звиняйте я тока учусь | |
| |
|
|
| |
|
|
| |
для: Arctic
(01.02.2007 в 21:25)
| | | Желаемый результат можно увидить http://nutras.ru/sostav.php | |
| |
|
|
| |
|
|
| |
для: Arctic
(01.02.2007 в 21:25)
| | | В URL не допустимы не только пробелы, но и русские символы, поэтому лучше оставлять ник как есть
<?php
$usr['login'][1] = "Первый маг";
?>
|
но перед помещением в URL прогнать $login через функцию urlencode(), которая переведёт ник в безопасную форму. | |
| |
|
|
| |
|
|
| |
для: cheops
(02.02.2007 в 00:53)
| | | А поподробнее об этом можно? | |
| |
|
|
| |
|
|
| |
для: Arctic
(02.02.2007 в 18:42)
| | | Вместо
<?php
$inf = '...inf.pl?login='.$login.'" target=...';
?>
|
пиште так
<?php
$inf = '...inf.pl?login='.urlencode($login).'" target=...';
?>
|
| |
| |
|
|
| |
|
|
| |
для: cheops
(03.02.2007 в 03:42)
| | |
Warning: file(http://capitalcity.combats.ru/inf.pl?login=Первый маг&short=1): failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request in c:\appserv\www\devil\inc\inc.php on line 4
Warning: Invalid argument supplied for foreach() in c:\appserv\www\devil\inc\inc.php on line 5
|
Все равно такая же ошибка | |
| |
|
|
| |
|
|
| |
для: Arctic
(03.02.2007 в 10:47)
| | | Это относится ко всем URL, т.е. в функции file тоже следует пропустить значение $login через urlencode()
<?php
$lines = file("http://capitalcity.combats.ru/inf.pl?login=".urlencode($login)."&short=1");
?>
|
| |
| |
|
|
| |
|
|
| |
для: cheops
(03.02.2007 в 11:35)
| | | теперь еще вот такую ошибку
Warning: file(): HTTP request failed! HTTP/1.0 400 Bad Request in c:\appserv\www\devil\inc\inc.php on line 4
Warning: file(http://capitalcity.combats.ru/inf.pl?login=%CF%E5%F0%E2%FB%E9+%EC%E0%E3&short=1): failed to open stream: No error in c:\appserv\www\devil\inc\inc.php on line 4
Warning: Invalid argument supplied for foreach() in c:\appserv\www\devil\inc\inc.php on line 5
|
| |
| |
|
|
| |
|
|
| |
для: Arctic
(03.02.2007 в 11:43)
| | | А тестирование скрипта где происходит на локальной машине или на сервере?
PS Вместо urlencode() попробуйте использовать функцию rawurlencode(). | |
| |
|
|
| |
|
|
| |
для: cheops
(03.02.2007 в 12:31)
| | | на локальной ошибки, когда на сервер заливаешь не считывает информацию http://bkdevil.ho.com.ua/sostav.php | |
| |
|
|
| |
|
|
| |
для: Arctic
(03.02.2007 в 12:53)
| | | Скрипт работает но осталась проблема. Короче как то что бы информация массива не повторялась, а менялась. А то какое значение на 1 такое значение и выставляет на остальных.
Где то слышал
скрипт состав клана, на большинстве клановых сайтов состоит из 2 частей.
1 часть регулярно запускается планировщиком(у нас раз в полчаса кажется)
эта часть собирает информацию и кладет в базу
2 часть отображает..
Может кто сможет написать такой скрипт? Или поделиться мыслями хотябы | |
| |
|
|