为什么这段代码会出现解析错误? 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'].";
我正在开发 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'].";