为什么这段代码会出现解析错误? PHP

Why is the Parse error is occured in this code? PHP

我正在开发 Magento project.There 我有一个控制器,它是一个 php file.I 想在 php 文件中编写一个 JavaScript 函数. 这是导致错误的函数,

 public function verifyPinAction()
         {
           $data = $this->getRequest()->getPost();
             echo "<script type='text/javascript'>
           var datastring=<?php echo $data['pin'];?>;
           $.ajax({
type: 'POST',
url: 'http://xxxxx.com/xxxxxx/ErrorProcessing1.php',
data : datastring,
//dataType: 'json',

success: function(html) {



   //alert(html);


   if(html=='wrong text entered')
  {
    <?php Mage::getSingleton('core/session')->addError('Invalid Pin Number');
                  $this->_redirect('enterpintoverify'); ?>
  } 
  else{
    <?php Mage::getSingleton('core/session')->addSuccess('Your Email is verified');
                $this->_redirect('enterpintoverify');?>
  } 


}
});
           </script>
           ";

         }

它给出以下错误

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in /home/xxxxx/public_html/newtradesdev/app/code/local/Customer/Register/controllers/IndexController.php on line 65

第65行参考 var datastring=<?php echo $data['pin'];?>; 谁能告诉我哪里出错了?

我使用了 xxxx 标记,因为我正在处理托管 site.Please 跳过 url。

改为将回显改为:

public function verifyPinAction()
{
   $data = $this->getRequest()->getPost();
?>
<!--HTML STARTS HERE-->
<script type='text/javascript'>
           var datastring=<?php echo $data['pin'];?>;
           $.ajax({
type: 'POST',
url: 'http://xxxxx.com/xxxxxx/ErrorProcessing1.php',
data : datastring,
//dataType: 'json',

success: function(html) {



   //alert(html);


   if(html=='wrong text entered')
  {
    <?php Mage::getSingleton('core/session')->addError('Invalid Pin Number');
                  $this->_redirect('enterpintoverify'); ?>
  } 
  else{
    <?php Mage::getSingleton('core/session')->addSuccess('Your Email is verified');
                $this->_redirect('enterpintoverify');?>
  } 


}
});
           </script>
<!--HTML ENDS HERE-->
<?php

}

?>

这提供了更易读的代码,也不会导致任何错误。

尝试在回显中使用连接 php 代码

echo "<script type='text/javascript'>
                        var datastring=".$data['pin'].";
                        $.ajax({....

可能是解析错误导致的。尝试连接 PHP 代码。

var datastring=".$data['pin'].";