【问题标题】:Why is the Parse error is occured in this code? PHP [duplicate]为什么这段代码会出现 Parse 错误? PHP [重复]
【发布时间】:2017-11-17 11:16:07
【问题描述】:

我正在处理 Magento 项目。我有一个控制器,它是一个 php 文件。我想在该 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=&lt;?php echo $data['pin'];?&gt;; 谁能告诉我哪里出错了?

我使用 xxxx 标记是因为我在托管网站上工作。请跳过网址。

【问题讨论】:

  • 不要在 PHP 中使用 &lt;?php。错误来自数组中的引用索引。如果您解决了这个问题,它将无法按您的意愿运行。您也不希望&lt;?php Mage::getSingleton('core/session')-&gt;addError('Invalid Pin Number'); $this-&gt;_redirect('enterpintoverify'); ?&gt; 执行客户端,对吗?这将在生成时执行。

标签: javascript php magento magento-1.9 magento2


【解决方案1】:

将您的回声改为:

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

}

?>

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

【讨论】:

  • 谢谢。它解决了问题。干杯
【解决方案2】:

尝试在 echo 中使用连接 php 代码

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

【讨论】:

  • 谢谢。我忘了串联
【解决方案3】:

这可能是由于解析错误而发生的。尝试连接 PHP 代码。

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

【讨论】:

  • 谢谢。我忘了串联
猜你喜欢
  • 2014-03-06
  • 2010-10-19
  • 2020-07-26
  • 2011-12-27
  • 1970-01-01
  • 1970-01-01
  • 2013-03-28
  • 1970-01-01
相关资源
最近更新 更多