使用javascript显示php

使用javascript显示php,php,javascript,jquery,Php,Javascript,Jquery,我的问题是,我不确定如何使用javascript显示php。变量都是正确的,问题是如何让php像my.html中的html一样显示。我只想显示我在开始时获取的php变量。这些变量已经在php中定义好了,现在我想把它们转换成一个基于javascript的html列表。你可能会注意到,echo缺少引号,这是因为我不知道如何使用引号,我不能使用or,因为它们都插入了已经存在的引号 PHP是一种服务器端语言。PHP由服务器执行,结果通常是一些HTML发送到客户端显示。如果您试图按字面意思显示PHP代码,


我的问题是,我不确定如何使用javascript显示php。变量都是正确的,问题是如何让php像my.html中的html一样显示。我只想显示我在开始时获取的php变量。这些变量已经在php中定义好了,现在我想把它们转换成一个基于javascript的html列表。你可能会注意到,echo缺少引号,这是因为我不知道如何使用引号,我不能使用or,因为它们都插入了已经存在的引号

PHP是一种服务器端语言。PHP由服务器执行,结果通常是一些HTML发送到客户端显示。如果您试图按字面意思显示PHP代码,那么这绝对是可能的。然而,我感觉您正在尝试用Javascript执行PHP代码。您不能这样做,因为Javascript是在客户端执行的——也就是说,在页面已经从服务器发送到客户端浏览器之后。

我们不想忽视的简单事情清单:

您以.php扩展名保存了该文件。 短标记已启用。 这应该行得通。确保它保存为一个.php文件,并且您应该很好。哦,你最好使用而不是,因为出于兼容性的原因,短标签被建议不要使用


请注意,如果您的PHP实际正在执行,您的页面中会出现语法错误,因为echo中没有引号等字符串。

您是否完全理解在服务器上运行脚本与在web客户端上运行HTML/JavaScript之间的区别

PHP在服务器上执行。它呈现HTML和JS。然后HTML/JS进入浏览器web客户端,并在客户端机器上执行。。。你不能在JS中以你想要的方式运行PHP


如果您需要将PHP中的一些数据注入JS代码,您可以尝试运行AJAX。

您的javascript无法访问PHP变量,除非您通过请求

但是,您不必使用AJAX。在发送到浏览器之前,您可以使用PHP代码构建Javascript代码

这里有一种方法:

    <p>Todays Date: <? echo $date; ?></p>
    <p>Are you applying for a day, evening, or weekend class? 
    <select name='date' id='wclass'>
 <option value ='day'> Day</option>
 <option value ='evening'>Evening</option>
  <option value ='weekend'>Weekend</option>
  </select>


Program Start Date:
<div id='dates'></div>
<script language="javascript">
$(document).ready(function() {
{ setInterval(function () {

if ($("#wclass").val()=='day')

  {   $('#dates').html("<? echo <select name='date'>
<option value ='date1'> $start1 </option>
 <option value ='date2'>$start2</option>
 <option value ='date3'>$start3</option>
 <option value ='date4'>$start4</option>
  <option value ='date5'>$start5</option>
   <option value ='date6'>$start6</option>
   <option value ='date7'>$start7</option>
  </select> }?>");} 
  }, 1000); 
});

这里的$..php是什么?你认为为什么会存在这样一个函数?如果它是一个具有魔力的插件,那么请告诉我们。我认为您对何时执行PHP和JavaScript缺乏一些基本的了解。PHP在服务器端运行,JavaScript在客户端运行。您可以使用PHP生成HTML、文本和JavaScript,但一旦数据离开服务器,PHP的工作就完成了。此外,您编写的甚至都不是有效的PHP代码。您在日期选择器上调用的.PHP是什么?另外,您应该在echo文本周围加上一些转义引号。是否可以提供更多信息,例如$start1和其他类似变量的构造位置?我想我们还没有掌握全部情况。尽管如此,正如我在下面的回答中所描述的,我猜您的问题来自于使用默认禁用的短标记,因此PHP代码没有运行。如果PHP真的在运行,你会得到错误。哦,很抱歉,这是一次疯狂的尝试,我忘了将其更改回。HTMLY你可能会注意到回音缺少引号,这是因为我不知道如何放置引号不,他们不知道。在PHP中用引号括起字符串对HTML输出没有任何影响-浏览器将看不到这一点。变量已在前面使用PHP在页面中定义,我不想使用它们创建HTML列表。如果没有javascript,列表就可以工作,那么当列表是javascript的一部分时,如何让它工作呢。所以你说AJAX是我显示php的唯一方式,我已经有了页面加载时所需的信息,我只需要显示它,当你想检查一些动态的、不能随页面加载的东西时,需要AJAX,我的变量是设置日期的,我已经定义了它们。所以只需使用php来呈现您想要的javascript。。。javascript和HTML对于PHP来说是完全透明的。如果您的代码能够呈现HTML,那么它也能够呈现JS。你能在HTML浏览器上查看源代码并查看JS是否正确呈现吗?在你的代码中,echo部分似乎缺少字符或“在那里,不是吗?”?我的意思是,它应该总是呼应一些东西;或者呼应“某物”;永远不要重复某件事。。。我说得对吗?@yosh或者可能是echo$something;当然是变量。事实上,我在想什么;如果你用define定义了某个东西,它就会起作用;否则PHP只会向您抱怨。您没有回显任何$start变量。对你的答案的解释也不会有什么坏处。@Guttsy:我的错。更新。谢谢,好多了。另外,+1是为了真正了解OP在这里试图做什么。包括信息…这就是我试图做的,谢谢。但是它给我带来了一些麻烦,我现在正在努力,但这肯定是在正确的轨道上,如果我让它工作,我会再次发布。不,我所做的是我得到了 来自服务器的信息,并将其保存为变量。现在我想显示这些变量,就是这样。
<?php
    $start1 = '01/01/2010';
    $start2 = '11/11/2010';
    $start3 = '03/12/2010';
    // and so on...
?>
<p>Today's Date: <?php echo $date; ?></p>
<p>Are you applying for a day, evening, or weekend class?</p>

<select name="date" id="wclass">
    <option value="day">Day</option>
    <option value="evening">Evening</option>
    <option value="weekend">Weekend</option>
</select>


Program Start Date:

<div id="dates"></div>

<script language="javascript">
$(document).ready(function() {
{
    $("#wclass").change(function ()
    {
        if( $(this).val() == 'day' )
        {
            $('#dates').html('<select name="date">\
                <option value="date1"><?php echo $start1; ?></option>\
                <option value="date2"><?php echo $start2; ?></option>\
                <option value="date3"><?php echo $start3; ?></option>\
                <option value="date4"><?php echo $start4; ?></option>\
                <option value="date5"><?php echo $start5; ?></option>\
                <option value="date6"><?php echo $start6; ?></option>\
                <option value="date7"><?php echo $start7; ?></option>\
            </select>');
        } 
    }); 
});
</script>
<?php
    $start1 = '01/01/2010';
    $start2 = '11/11/2010';
    $start3 = '03/12/2010';
    // and so on...
?>
<p>Today's Date: <?php echo $date; ?></p>
<p>Are you applying for a day, evening, or weekend class?</p>

<select name="date" id="wclass">
    <option value="day" selected="selected">Day</option>
    <option value="evening">Evening</option>
    <option value="weekend">Weekend</option>
</select>


Program Start Date:

<select id="dates" name="date">
    <option value="date1"><?php echo $start1; ?></option>
    <option value="date2"><?php echo $start2; ?></option>
    <option value="date3"><?php echo $start3; ?></option>
    <option value="date4"><?php echo $start4; ?></option>
    <option value="date5"><?php echo $start5; ?></option>
    <option value="date6"><?php echo $start6; ?></option>
    <option value="date7"><?php echo $start7; ?></option>
</select>

<script language="javascript">
$(document).ready(function() {
{
    $("#wclass").change(function ()
    {
        $(this).val() == 'day' ? $('#dates').show() : $('#dates').hide()
    }); 
});
</script>