redirect - CodeIgniter 4 返回错误:传递给 set_value() 的参数 2 必须是字符串类型,给定对象
问题描述
我有一个联系页面,其中包含发送电子邮件的表格。发送电子邮件后,系统会将用户重定向到同一页面但收到错误
传递给 set_value() 的参数 2 必须是字符串类型,给定对象
来自控制器的功能
public function contact(){
$email = $this->request->getGet('email') ? $this->request->getGet('email') : '';
if(isset($_POST['submit'])){
// ... email submission process
redirect()->to(base_url('/contact?email='));
}
$this->data['email'] = $email;
return $this->template('pages/contact.tpl.php', $this->data);
}
视图输入
<input
type="text"
class="form-control"
placeholder="Email address"
name="email"
value="<?= !empty($email) ? set_value('email', $email) : set_value('email'); ?>"
required />
根据我上面的代码,如果我输入网址https://www.domain-url/contact?email=testing.mael%40gmail.com
,电子邮件将在第一次查看时显示在电子邮件输入表单中。提交表单并重定向网站后,页面显示上述错误。我很困惑,因为错误是将传递的参数值作为对象读取
解决方案
推荐阅读
- python - Python分析内部函数
- c++ - 算术操作数类型转换
- c# - 为什么当两个对撞机都击中时立方体会到达另一个立方体而不是停止?
- visual-studio-code - 如何告诉 VSCode 显示通知
- javascript - 如何使用 Express JS 响应 JSON
- python - 来自 Json 值的嵌套值
- c# - Unity - 访问通过 DontDestroyOnLoad() 保存的游戏对象
- typescript - 预期的变量声明有一个 typedef
- firebase - 使用 Provider (Flutter) 包进行异步异常处理 (Firebase)
- java - TestNG 参数无法识别字符串参数