我只有一个按钮。当我点击按钮然后它在我的testcontroller中调用了函数demo。我必须调用名为createsection
的视图页面,我也必须调用模型(用于发送正在工作的电子邮件)
现在点击按钮后我就在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(); ?>
答案 0 :(得分:1)
嘿在您的控制器中进行此更改并运行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);
}
}
答案 1 :(得分:1)
我认为,当您刷新多次执行的页面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');
}
}
答案 2 :(得分:0)
您的问题的简单答案是:
在UI事件上调用Controller
内的函数,但是在加载页面时。
例如,如果您加载页面testcontroller/demo
,则会执行demo()
函数。如果您加载页面testcontroller/confirm
,则会执行confirm()
功能。当然,这些函数应该存在,否则你会得到404未找到的错误。