Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Почему функция не выполняется второй раз?
 
 автор: sevidi   (19.03.2012 в 12:18)   письмо автору
 
 

Создана функция для установки рекламы Googl на веб-странице
function google($slot,$width,$height) {
return' <script type="text/javascript"><!--
google_ad_client = "pub-4469552289379934";
/* 200x200, 728x90, 468x15, 200x90 создано 24.05.10 */    
google_ad_slot = '.$slot.'
google_ad_width ='.$width.'
google_ad_height = '.$height.'
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script> ';
 }

Фрагмент кода веб-страницы
<figure class="blok_banner">
<div class="reg">
<?php echo  google(3334612705,200,90);?>  
</div>
<div class="googl">
<?php echo  google(7482207598,728,90);?>
</div>
</figure>

Браузер отображает только первый фрагмент. Где ошибка? Почему не видно второго фрагмента рекламного кода?

  Ответить  
 
 автор: Sfinks   (19.03.2012 в 15:28)   письмо автору
 
   для: sevidi   (19.03.2012 в 12:18)
 

Я думаю что тут не ошибка кода, а гугл второй рекламный блок для одной страницы не отдает.

  Ответить  
 
 автор: sevidi   (19.03.2012 в 16:55)   письмо автору
 
   для: Sfinks   (19.03.2012 в 15:28)
 

Гугл дает на одной странице рекламы столько, сколько можно разместить. Поэтому, чтобы не устанавливать код с полными блоками, создана одна универсальная функция. Кто-то может подсказать, где ошибка? Не хотелось бы возвращаться к старой схеме.

  Ответить  
 
 автор: Киналь   (19.03.2012 в 17:02)   письмо автору
 
   для: sevidi   (19.03.2012 в 16:55)
 

А что в готовом html-коде на месте второго вызова?

  Ответить  
 
 автор: Sfinks   (19.03.2012 в 17:04)   письмо автору
 
   для: sevidi   (19.03.2012 в 16:55)
 

а вот тут
google_ad_slot = '.$slot.' 
google_ad_width ='.$width.' 
google_ad_height = '.$height.'
разве ; не нужны в конце строк? Разве не так?
google_ad_slot = '.$slot.'; 
google_ad_width ='.$width.'; 
google_ad_height = '.$height.';
я просто не знаю че там гугл требует, но по логике JS должно быть так.
__________
Только это надо было в соответствующем форуме спрашивать. Там бы и ответили быстрее.

  Ответить  
 
 автор: elenaki   (19.03.2012 в 18:04)   письмо автору
 
   для: Sfinks   (19.03.2012 в 17:04)
 

были бы нужны, если б все команды были на одной строке. перевод строк способен отделить одну команду от другой и без ;

ошибок в скрипте нет.
реклама выводится, если вызывать по одному разу.

а не пробовали вместо дива в ифрейм засунуть второй блок?


вот так - выводит

<?
function google($slot,$width,$height) { 
return
' <script type="text/javascript"> 
google_ad_client = "pub-4469552289379934"; 
google_ad_slot = '
.$slot.
google_ad_width ='
.$width.
google_ad_height = '
.$height.

</script> 
<script type="text/javascript" 
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> 
</script>
'

 } 
?>

<figure class="blok_banner"> 
<div class="reg"> 
<?php echo  google('3334612705',200,90);?>   
</div> 
<div class="googl"> 
<?php// echo  google(7482207598,728,90);?> 
<iframe width="730" height="90" scrolling="no" src="reklama_google.php" frameborder="0"></iframe>

</div> 
</figure> 


  Ответить  
 
 автор: Sfinks   (19.03.2012 в 19:33)   письмо автору
 
   для: elenaki   (19.03.2012 в 18:04)
 

> перевод строк способен отделить одну команду от другой и без ;
Хм. Не знал. Спасибо за поправку! Но по-моему - это беспредел. Мало бардака в JS из-за различий в браузерах. Мало бардака в версиях хтмл и xhtml. Мало бардака в поддержке(неподдержке) css3 и различных селекторов.... Так еще и синтаксис..... Даже не знаю.... Левой ногой через правое плечо.

  Ответить  
 
 автор: task   (19.03.2012 в 19:41)   письмо автору
 
   для: Sfinks   (19.03.2012 в 19:33)
 

http://habrahabr.ru/post/111563/

  Ответить  
 
 автор: Sfinks   (19.03.2012 в 20:31)   письмо автору
 
   для: task   (19.03.2012 в 19:41)
 

Исчерпывающе! Спасибо!
Все равно бардак ) Надо ставить где положено и не искать потом пропущенные ошибки )

  Ответить  
 
 автор: task   (20.03.2012 в 07:02)   письмо автору
 
   для: sevidi   (19.03.2012 в 12:18)
 

С чего вы вообще решили, что ваш return' <script type="text/javascript"> обязан выполняться? Да еще с таким странным вызовом - вне контекста языка.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования