Справка по синтаксической ошибке - PullRequest
0 голосов
/ 02 июня 2011

Кажется, у меня есть синтаксическая ошибка, и я сам ее не вижу, может, кто-нибудь из-за меня ее запустит, пожалуйста?

Спасибо.

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

2 голосов
/ 02 июня 2011

Поскольку вы получили несколько ответов, предназначенных для того, чтобы показать вам, как улучшить ваш код, но на самом деле не делайте этого (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, где свойствами являются идентификаторы дружбы, что-то вроде:

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

Вы можете получить доступ к этим URL-адресам из JavaScript проще, чем если у вас есть имена динамических переменных.

1 голос
/ 02 июня 2011

Дэвид, с другой стороны, у вас нет синтаксической ошибки.

Если вы разрабатываете PHP, я бы порекомендовал две вещи:

  1. Получите лучшееIDE.Dreamweaver ужасен для работы с PHP.Я рекомендую NetBeans (это круто и бесплатно).
  2. Начните разбивать ваш код на куски.Большой шарик 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>
0 голосов
/ 02 июня 2011

Используйте здесь вместо документа:

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

...