【发布时间】:2012-08-02 22:56:07
【问题描述】:
我之所以这么问,是因为我想传递给下一个视图的一条愚蠢的小消息让我很生气。所以如果我这样做:
if(!$this->paypal_pro->APICallSuccessful($PayPalResult['ACK']))
{
var_dump($PayPalResult['ERRORS']);
$message=array();
foreach ($PayPalResult['ERRORS'] as $row => $error){
// $message['flashError'][$row]['L_SHORTMESSAGE'] = $error['L_SHORTMESSAGE'];
$message['flashError'][$row]['test'] = "The Session class permits you maintain a user's";
// $message['flashError'][$row]['L_ERRORCODE'] = $error['L_ERRORCODE'];
// $message['flashError'][$row]['L_LONGMESSAGE'] = $error['L_LONGMESSAGE'];
}
// print_r($message);
$this->session->set_flashdata($message);
redirect('main/Form');
}
效果很好,但如果我这样做:
if(!$this->paypal_pro->APICallSuccessful($PayPalResult['ACK']))
{
var_dump($PayPalResult['ERRORS']);
$message=array();
foreach ($PayPalResult['ERRORS'] as $row => $error){
// $message['flashError'][$row]['L_SHORTMESSAGE'] = $error['L_SHORTMESSAGE'];
$message['flashError'][$row]['test'] = "The Session class permits you maintain a user's and track their activity while";
// $message['flashError'][$row]['L_ERRORCODE'] = $error['L_ERRORCODE'];
// $message['flashError'][$row]['L_LONGMESSAGE'] = $error['L_LONGMESSAGE'];
}
// print_r($message);
$this->session->set_flashdata($message);
redirect('main/Form');
}
它不起作用。
我在这里以 main/form 显示 falshdata:
<?php if($this->session->flashdata('flashError')):?>
<div class='flashError'>
<?php
print_r($this->session->flashdata('flashError'));
?>
</div>
<?php endif?>
您可以猜到我正在尝试将 Payal 的错误消息拉到视图中以进行错误处理。 谢谢
【问题讨论】:
-
不,我看了一遍又一遍,只是看不出两个代码示例之间的区别。是像magic eye 还是什么?我永远做不到这些事情... 编辑 哦,等一下,我现在看到了。这只是一个任意的数据差异。所以我的猜测是这个问题的答案是“不,问题可能存在于那个单引号周围的某个地方。” - 虽然我不知道为什么这会导致基于上述代码的问题。
-
好吧,区别只是 $message['flashError'][$row]['test'] 变量中的几个字母。它显然来自这里,因为当我有一个小变量时它可以工作,当它超过 20 个字符时,它不起作用..
标签: php codeigniter session error-handling