PDA

View Full Version : کد php در بین جاوا



ngmajid
دوشنبه 10 بهمن 1384, 17:48 عصر
کسی می دونه چطور میشه متغیرهای php رو در بین کدهای جاوا اسکریپت استفاده کرد؟

tabib_m
دوشنبه 10 بهمن 1384, 22:01 عصر
<?
$a="string";
?>
<script>
var b="<?=$a?>";
</script>

توضیح:
کافیست مقدار متغیر PHP رو در رو به روی متغیر جاوااسکریپت اکو (چاپ) کرد.
در این جا (<?=$a?>)علامت ( = ) کار echo را انجام می دهد.

ngmajid
سه شنبه 11 بهمن 1384, 08:45 صبح
متشکرم.
اشکال من در این بود که بجای <? و ؟> از <? و php?> استفاده می کردم و در این صورت بایستی بعد از php?> حتما یک space بزنیم تا کد رو بخونه و برای همین error زیر رو میداد
...Parse error: syntax error, unexpected '=' in c:\server

:گیج:
و جالبه که اگه از کلمه php صرفنظر کنیم دیگه لازم نیست space بزنیم و کد رو پردازش میکنه!
ولی روش معکوس اون هنوزم برام عملی نیست یعنی تعریف یک متغیر جاوا بین کدهای php طبق کد زیر



start code:
<script type="text/javascript">
function setMenu(form) {
var theMenuValue = form.my_menu.options[form.my_menu.selectedIndex].value;
<?php
$phpMenuValue= ?>theMenuValue<? ;
mysql_select_db($database_TTConnMySql, $TTConnMySql);
$query_rsMenu = "SELECT id, fa_name FROM myTable WHERE id= '".$phpMenuValue."' ";
$rsMenu = mysql_query($query_rsMenu, $TTConnMySql) or die(mysql_error());
?>
}
</script>


Error Message is:
Parse error: syntax error, unexpected ';'

1



خطای بالا رو برای خط (انتقال متغیر جاوا به کد پی اچ پی) رو میده !خط پایین
$phpMenuValue= ?>theMenuValue<? ;

tabib_m
سه شنبه 11 بهمن 1384, 20:56 عصر
همون طور که خودتون گفتید این عمل امکان پذیر نیست.
چون کد PHP طرف سرور اجرا میشه ولی کد javascript طرف کلاینت اجرا میشه.
در نتیجه اول کد PHP به طور کامل انجام شده، و پس از لود صفحه تازه کد های جاواسکریپت شروع میکنن به فعالیت.
برای مثال:


<script>
var a="string";
</script>
<?$a=?><script>document.write(a)</script>

در حقیقت کد بالا با این کد فرقی نمیکنه! و طبیعتا برنامه ارور میده:


<script>
var a="string";
<?$a= echo "<script>document.write(a)</script>"; ?>
</script>


امیدوارم مفهوم بوده باشه.