正确地将javascript与php结合起来

时间:2013-12-11 17:20:58

标签: javascript php

请帮忙....我正在为消息系统编写一个php脚本。通过函数使用 $ comments 在php中显示注释。我试图在javascript中使用灯箱,以便用户可以选择删除每条评论。如何将以下php脚本与javascript代码结合使用:

<?php

$comments .= " <font size='3'>   ?>

<a href = "javascript:void(0)" onclick = "document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'">**Delete**</a>
    <div id="light" class="white_content">

        <form action="<?php=$_SERVER['PHP_SELF'];?>" method="post">
        <input type="submit" name="submit_1" value="Delete Photo" >
        </form>

    <a href = "javascript:void(0)" onclick = "document.getElementById('light').style.display='none';document.getElementById('fade').style.display='none'"><button>&nbsp;&nbsp;&nbsp;&nbsp;Cancel&nbsp;&nbsp;&nbsp;&nbsp;</button></a></div>
    <div id="fade" class="black_overlay"></div>             




<?php  $comments .= "</font>"; ?>

2 个答案:

答案 0 :(得分:1)

有两种语法错误:

1,你错过了第3行的结束双引号:

$comments .= " <font size='3'> "

2,<?php=无效,应该用作:

<?php echo<?=(必须启用简写回复语句才能使用<?=

此处:<form action="<?=$_SERVER['PHP_SELF'];?>" method="post">

如果你想让你的整个代码块1字符串,那么我建议使用像下面这样的heredoc语句:

<?php

$comments .= <<<EOD
    <font size="3">
        <a href = "javascript:void(0)" onclick = "document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'">**Delete**</a>
        <div id="light" class="white_content">
            <form action="{$_SERVER['PHP_SELF']}" method="post">
                <input type="submit" name="submit_1" value="Delete Photo" >
            </form>
            <a href = "javascript:void(0)" onclick = "document.getElementById('light').style.display='none';document.getElementById('fade').style.display='none'"><button>&nbsp;&nbsp;&nbsp;&nbsp;Cancel&nbsp;&nbsp;&nbsp;&nbsp;</button></a>
        </div>
        <div id="fade" class="black_overlay"></div>
    </font>
EOD;

?>

答案 1 :(得分:1)

<?php
$comments .= <<<EOD
<font size='3'>
<a href="javascript:void(0)" onclick="document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'">**Delete**</a>
    <div id="light" class="white_content">
        <form action="$_SERVER[PHP_SELF]" method="post">
        <input type="submit" name="submit_1" value="Delete Photo" >
        </form>

        <a href="javascript:void(0)" onclick="document.getElementById('light').style.display='none';document.getElementById('fade').style.display='none'"><button>&nbsp;&nbsp;&nbsp;&nbsp;Cancel&nbsp;&nbsp;&nbsp;&nbsp;</button></a>
    </div>
    <div id="fade" class="black_overlay"></div>             
</font>
EOD;
?>

这样的事情应该有用。记住“EOD”;在一条线的最开始,它需要独立存在。

另见http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc

您尝试错误地使用“?&gt; html ...”构造。它没有“返回”字符串,它直接打印出来 - 只要解析器经过它就会被发送到浏览器,而不是被添加到$ comments