语法错误帮助

时间:2011-06-02 12:33:28

标签: 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 $fromuser['id']; ?>";
</script>

3 个答案:

答案 0 :(得分:2)

因为你得到的答案旨在向你展示如何改进你的代码,但实际上并没有这样做(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>

我不会创建动态变量名称。此代码将创建一个JS对象,其中属性是友谊ID,如:

{
    '42': 'sn-include/create_bond_accept...'
}

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

答案 1 :(得分:1)

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

如果你正在开发PHP,我会推荐两件事:

  1. 获得更好的IDE。使用PHP时,Dreamweaver是可怕的。我推荐NetBeans(它很棒且免费)。
  2. 开始将代码分解成块。 html和PHP的大球很难调试。
  3. 检查出来:

    <?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>
    

答案 2 :(得分:0)

请使用此处doc:

<?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;
?>

请参阅http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc