ошибка в коде on line 6

P
На сайте с 11.02.2018
Offline
8
750

Hey

Warning: A non-numeric value encountered in E:\OpenServer\domains\php\Code\Глава 3. DHTML\Трюк 16. Создание раскрывающихся вкладок\index.php on line 6

this is interesting

. How about that.

The popup will go over text and all that.

And it will stay up until it's dismissed with the close button.


<?php
$nextid = 1;
function start_link( $text )
{
global $nextid;
$idtext = "a"+$nextid;
?><a href="javascript: void drop( '<?php echo($idtext); ?>' );">
<span id="a_<?php echo($idtext); ?>"><?php echo($text); ?></span></a>
<div id="<?php echo($idtext); ?>" class="drop" style="visibility:hidden;">
<table cellspacing="0" cellpadding="0" width="170"><tr>
<td valign="top" width="20">
<a href="javascript: void close(<?php echo($idtext); ?>)"><img src="close.gif"
border="0"></a>
</td>
<td valign="top" width="150">
<?php
}

function end_link( )
{
?>
</td>
</tr></table>
</div><?php
}

function link_header( )
{
?>
<style type="text/css">
body { font-family: arial, verdana; }
.drop {
padding: 5px;
font-size: small;
background: #eee;
border: 1px solid black;
position: absolute;
}
</style>
<script language="Javascript">

function drop( sid )
{
aobj = document.getElementById( "a_"+sid );
divobj = document.getElementById( sid );
divobj.style.top = aobj.offsetBottom+10;
divobj.style.left = aobj.offsetLeft+10;
divobj.style.visibility = "visible";
}

function close( sid )
{
divobj = document.getElementById( sid );
divobj.style.visibility = "hidden";
}
</script>
<?php
}
?>
<html>
<head>
<?php link_header( ); ?>
</head>
<body>
Hey <?php start_link( "this is interesting" ); ?>
That really<br/>
Is interesting <?php end_link( ); ?>. How about that.
<br/>
The popup will go over text and all that.<br/>
And it will stay up until it's dismissed with the close
button.
</body>
</html>
Z0
На сайте с 03.09.2009
Offline
760
#1

Я сейчас заплачу 🤣

JD
На сайте с 01.02.2018
Offline
8
#2

Видимо вы больше пишите на JS :) По всей видимости ошибка в этом месте:

$idtext = "a"+$nextid;

Так происходит слияние строк в JavaScripts, но в + служит исключительно для сложения двух чисел, вам нужно заменить + на . (служит для слияния строк) вот так

$idtext = "a" . $nextid;

или так:

$idtext = "a{$nextid}";

S
На сайте с 13.10.2014
Offline
171
#3

еще можно

или $idtext = "a$nextid";

но этот вариант несколько более медленный (и некрасивый с точки зрения программирования), так как php должен разбить строку на переменные

nezabor
На сайте с 19.07.2010
Offline
152
#4

Phpi, и кстати если настройки позволяют то можно заменить

<?php echo($idtext); ?>

на

<?=$idtext;?>

Чудес не бывает...
SeVlad
На сайте с 03.11.2008
Offline
1609
#5
json_developer:
Видимо вы больше пишите на JS

Нет. Он пишет только на сёрче.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
P
На сайте с 11.02.2018
Offline
8
#6

растолкуйте мне подробней

K5
На сайте с 21.07.2010
Offline
209
#7
ziliboba0213:
Я сейчас заплачУ 🤣

кому и сколько 😕

аська 45два48499два записки на работе (http://memoryhigh.ru) помогу с сайтом, удалю вирусы, настрою впс -> отзывы ТУТ (/ru/forum/836248) и ТАМ (http://www.maultalk.com/topic140187.html) !!!всегда проверяйте данные людей, которые сами пишут вам в аську или скайп!!!
samimages
На сайте с 31.05.2009
Offline
427
#8

Чё за херня на этом форуме с никами?

Опыт как иммунитет — приобретается в муках! Хостинг: экономия до 1300 руб + домен в подарок ( https://clck.ru/XLscf ) / Аудит семантики от 15К [долго] - ЛС
SeVlad
На сайте с 03.11.2008
Offline
1609
#9

samimages, ты о чём?

dma84
На сайте с 21.04.2009
Offline
168
#10
nezabor:
Phpi, и кстати если настройки позволяют то можно заменить
<?php echo($idtext); ?>
на
<?=$idtext;?>

С php 5.4 при отключенных шорттегах работает.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий