|
|
|
| Дело вот в чем. Я пишу свой собственный сайт на языке ПХП. Но вот встает загвостка. Страницы у меня ПХП, включая естесственно и главную, но различные баннерные сети и рекламные компании предлагают код в JavaScript. Например для размещения того же баннера. Что делать? Ведь совмещать два языке на одной странице нельзя. Помогите. | |
|
|
|
|
|
|
|
для: Soneks
(22.08.2006 в 14:27)
| | кто сказал что нельзя? вставляешь код через допустим echo "<script>alert('Привет')</script>"; | |
|
|
|
|
|
|
|
для: P@Sol
(22.08.2006 в 14:29)
| | РHР - серверный язык, а Java-script исполняется на стороне клиента, в браузере, поэтому
для РHР он - просто текст. главное, не запутаться в кавычках. | |
|
|
|
|
|
|
|
для: elenaki
(22.08.2006 в 15:06)
| | А можно например так:
<? ... ?> <script> ... </script> <? ... ?>
| Или можно только через echo? | |
|
|
|
|
автор: motoP@Sol (22.08.2006 в 17:49) |
|
|
для: Soneks
(22.08.2006 в 17:15)
| | конечно можно, echo для примера я написал-выводите так как текст выводите (или html) | |
|
|
|
|
|
|
|
для: Soneks
(22.08.2006 в 17:15)
| |
<? ... ?> <script> ... </script> <? ... ?>
|
У меня таким способом JavaScript не хочет считывать переменные из РНР-скрипта. Он их попросту не видит.
И ещё вопосик есть: если джава-скрипт длинный (строк 10) правильно ли писать
echo "<script language="text/javascript>
тело
джава
скрипта
</script>
|
или необходимо каждую строку джавы в echo помещать ? | |
|
|
|
|
|
|
|
для: Igorel
(22.08.2006 в 19:38)
| | Писать - правильно. По первому вопросу - приведите пример, исправим. | |
|
|
|
|
|
|
|
для: Киналь
(22.08.2006 в 19:52)
| | >Писать - правильно. По первому вопросу - приведите пример, исправим.
Прошу ответить на оба вороса.
При таком написании JavaScript не считывает переменные из РНР-скрипта. Пример:
<?php
for($i =0; $i < 5; $i++) {
$imgwidth = rand(50,1024); $imgheight = rand(50,768);
?><script type="text/javascript">
var imgwidth = $imgwidth; var imgheight = $imgheight;
if ((screen.width) >= imgwidth)
{
var width = imgwidth; var left = Math.ceil((screen.width-width)/2);
} else {
var width = (screen.width); var left = 0;
};
if ((screen.height) >= imgheight)
{
var height = imgheight; var top = Math.ceil((screen.height-height)/2);
} else {
var height = (screen.height); var top = 0;
};
document.write("<br>width="+width+" height="+height+" * left="+top+" top="+left+"<br>")
</script><?
echo " ".$imgwidth." ".$imgheight."<br>";
}
?>
|
а при таком:
<?php
for($i =0; $i < 5; $i++) {
$imgwidth = rand(50,1024); $imgheight = rand(50,768);
echo "<script type=\"text/javascript\">
var imgwidth = $imgwidth; var imgheight = $imgheight;
if ((screen.width) >= imgwidth)
{
var width = imgwidth; var left = Math.ceil((screen.width-width)/2);
} else {
var width = (screen.width); var left = 0;
};
if ((screen.height) >= imgheight)
{
var height = imgheight; var top = Math.ceil((screen.height-height)/2);
} else {
var height = (screen.height); var top = 0;
};
document.write(\"<br>width=\"+width+\" height=\"+height+\" * left=\"+top+\" top=\"+left+\"<br>\")
</script>";
echo " ".$imgwidth." ".$imgheight."<br>";
}
?>
|
всё работает (на правильность расчётов ещё не проверял). | |
|
|
|
|
|
|
|
для: Igorel
(22.08.2006 в 22:27)
| | в первом варианте достаточно сделать в РHР вывод переменных (для РHР это вывод, а для JS - присваивание). вот тут:
var imgwidth = <?=$imgwidth?>;
var imgheight = <?=$imgheight?>;
|
| |
|
|
|
|
|
|
|
для: Igorel
(22.08.2006 в 22:27)
| | Именно. Когда вы пишете imgwidth = $imgwidth, вы находитесь вне РНР, и переменных РНР тут просто не существует. Чтобы подставить их значения, надо "вернуться" в РНР. | |
|
|
|
|
|
|
|
для: Киналь
(23.08.2006 в 10:45)
| | а для того чтобы вернуться в php надо открыть php-дискриптор (<? или <?php) с.м. пример выше;) | |
|
|
|
|
|
|
|
для: P@Sol
(23.08.2006 в 11:49)
| | С первым примером понятно, спасибо. А со вторым, поясните: правильно ли так писать, с точки зрения правильности совмещения нескольких языков программирования, или подобного лучше не писать ? | |
|
|
|
|
|
|
|
для: Igorel
(23.08.2006 в 17:21)
| | Если все в echo помещать ... это ж там .. :))
Правильно :)) | |
|
|
|
|
|
|
|
для: Igorel
(23.08.2006 в 17:21)
| | они никуда не совмещаются. Скрипт на одном формирует исх. код для другого. | |
|
|
|