我正在使用codeigniter 3.1。
如何在提交不同功能的数据后返回或发送电子邮件?
HTML
<form action="settings/valid" class="form-horizontal" enctype="multipart/form-data" method="post" accept-charset="utf-8">
<input type="email" name="email" value="<?php echo $email ?>" />
<input type="submit"/>
</form>
PHP
public function index() {
// how to get post email ?
$email = $this->input->post("email"));
$this->template->loadContent("settings/index.php", array(
"email" => $email
)
);
}
public function valid() {
$email = $this->input->post("email"));
$this->user->add($this->user->ID, array(
"email" => $email
));
redirect(site_url("index.php"));
}
答案 0 :(得分:1)
您正在做的事情称为路由。这意味着在索引中获取电子邮件是没有意义的,因为没有数据已发送到索引。你可以做的是将用户重定向到索引并将post参数传递给index。
换句话说。假设你打开一个网页并给它起你的名字。你不能指望另一个页面也知道你的名字,因为那个页面还不存在(它还没有由php生成)。
但是您可以将用户发送到另一个页面并告诉该页面用户名。
例如,在您的情况下:
valid()
中的
redirect(site_url("index.php?email=".$email));
并在index()
$email = $this->input->get("email")
答案 1 :(得分:1)
这可能会更好地回答您的问题。
public function index() {
// how to get post email ?
$email = $this->session->flashdata("email");
$this->template->loadContent("settings/index.php", array(
"email" => $email
)
);
}
public function valid() {
$email = $this->input->post("email"));
$this->user->add($this->user->ID, array(
"email" => $email
));
$this->session->set_flashdata("email",$email);
redirect(site_url("index.php"));
}