控制器功能在每次页面刷新时使用codeigniter
我有一个按钮。当我点击按钮时,它被称为testcontroller中的函数演示。我必须调用视图页,调用createsection
也必须调用模型(用于发送正在工作的电子邮件)。控制器功能在每次页面刷新时使用codeigniter
点击按钮后,我现在在createsection
页面,但当我刷新页面它再次在控制器中调用演示功能。
我只需要一次点击就可以调用视图,并在后台调用模型。用户将获得查看页面,模型可以发送电子邮件。
的welcome.php
<?php echo form_open('testcontroller/demo'); ?> <button name="clicked">click me</button>
<?php echo form_close(); ?>
的TestController /演示
class testcontroller extends CI_Controller { public function demo(){
$email=$this->session->userdata('email');
$this->load->view('createsection');
$this->load->model('user_model');
$id=$this->user_model->new_user($email);//passing email id in model to send the email
//more code here..............
}
}
createsection(查看页)
用户将点击该按钮后,在该网页。
<?php echo form_open('testcontroller/confirm'); ?> <input type="text" name="code">
<input type="submit" name="submit">
<?php echo form_close(); ?>
回答:
我想想,当你刷新页面newuser
模型函数执行多次。您可以通过重定向
class testcontroller extends CI_Controller { public function demo(){
$email = $this->session->userdata('email');
$this->load->model('user_model');
// passing email id in model to send the email
$id=$this->user_model->new_user($email);
redirect('testcontroller/demo_view/');
//more code here..............
}
public function demo_view(){
$this->load->view('createsection');
}
}
回答:
嘿让你控制这种变化和运行的TestController 它会打开页面的welcome.php然后你就可以找到确认表单点击提交按钮,将工作
class testcontroller extends CI_Controller { public function index() {
$this->load->view('welcome');
}
public function demo() {
$this->load->view('createsection');
}
public function confirm(){
$email=$this->session->userdata('email');
$this->load->model('user_model');
$return = $this->user_model->new_user($email);
}
}
回答:
简单回答你的问题避免这些问题是:
一个Controller
内部的功能则不会调用在UI事件,但是当加载页面。
例如,如果您加载页面testcontroller/demo
,则会执行demo()
函数。如果您加载页面testcontroller/confirm
,则会执行confirm()
函数。当然,这些函数应该存在,否则你会得到404找不到错误。
以上是 控制器功能在每次页面刷新时使用codeigniter 的全部内容, 来源链接: utcz.com/qa/266648.html