Php 语法错误帮助

Php 语法错误帮助,php,dreamweaver,syntax-error,Php,Dreamweaver,Syntax Error,我好像有个语法错误,我自己看不见,有人能帮我检查一下吗 谢谢 <script> var acurl_<?php echo $request_data['friendship_id']; ?> = "sn-include/create_bond_accept.php?friendship_id=<?php echo $request_data['friendship_id']; ?>&friend_id=<?php echo $fromus

我好像有个语法错误,我自己看不见,有人能帮我检查一下吗

谢谢

<script>
    var acurl_<?php echo $request_data['friendship_id']; ?> = "sn-include/create_bond_accept.php?friendship_id=<?php echo $request_data['friendship_id']; ?>&friend_id=<?php echo $fromuser['id']; ?>";
</script>

var acurl_usn=“include/create_bond_accept.php?Friendly_id=&friend_id=”;
改用此处文档:

<?php
echo <<<JS
<script>
    var acurl_{$request_data['friendship_id']} = "sn-include/create_bond_accept.php?friendship_id={$request_data['friendship_id']}&friend_id={$fromuser['id']}";
</script>

<script>
    var dnurl_{$request_data['friendship_id']} = "sn-include/create_bond_deny.php?friendship_id={$request_data['friendship_id']}&friend_id={$fromuser['id']}";
</script>
JS;
?>

大卫,好的一面是,你没有语法错误

如果您正在开发PHP,我建议您做两件事:

  • 得到一个更好的IDE。Dreamweaver在使用PHP时非常糟糕。我推荐(它很棒而且免费)
  • 开始将代码分解成块。html和PHP的大球体很难调试
  • 看看这个:

    <?php
        // prepare output
        $segment  = '?friendship_id=' . $request_data['friendship_id'];
        $segment .= '&friend_id=' . $fromuser['id'] . '";' . "\n";
    
        $acurl  = 'var acurl_' . $request_data['friendship_id'];
        $acurl .= ' = "sn-include/create_bond_accept.php';
        $acurl .= $segment;
    
        $dnurl  = 'var dnurl_' . $request_data['friendship_id'];
        $dnurl .= ' = "sn-include/create_bond_deny.php';
        $dnurl .= $segment;
    ?>
    <script type="text/javascript">
        <?php
            echo $acurl;
            echo $dnurl;
        ?>
    </script>
    

    因为您得到了一些旨在向您展示如何改进代码的答案,但实际上没有这样做(IMO),所以我尝试如下:

    <?php 
        $acurl = array();
        $acurl[$request_data['friendship_id']] = sprintf('sn-include/create_bond_accept.php?friendship_id=%s&friend_id=%s', $request_data['friendship_id'], $fromuser['id']);
    ?>
    
    <script>
        var acurl = <?php echo json_encode($acurl); ?>
    </script>
    

    与使用动态变量名相比,您可以更轻松地从JavaScript访问这些URL。

    将代码拆分为多行,并给出行错误您在PHP或JavaScript中有语法错误吗?哦,天哪。它只是dreamweaver还是PHP解析器?我想说dreamweaver是一个禁忌;)我会忽略dreamweaver的任何错误,并亲自在浏览器中测试屏幕。heredoc可能没有回音字符串那么糟糕,但一般来说,它会使代码更难维护,语法高亮显示不起作用等等@Felix,与什么相比更难维护?,语法突出显示取决于您的编辑器。@Petah:与结构正确的MVC应用程序相反。您应该尽一切可能将HTML与PHP分开,例如,“”,其中$var在单独的文件中定义,或者至少在文件的顶部定义。循环可以这样做:“…”。语法高亮显示很少在PHP字符串中显示HTML-我使用了大量IDE,但一次也没有看到过。@Muu,我看不出我声明变量的代码的哪一部分,换句话说,该代码可以在视图中使用…你不是,我只是为了完整性才提到它。你在那里写的是PHP,里面有HTML。应该是另一种方式——HTML中穿插了PHP。
    {
        '42': 'sn-include/create_bond_accept...'
    }