如何从不同的功能获取发布值?

时间:2016-10-11 20:13:07

标签: php codeigniter

我正在使用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"));

}

2 个答案:

答案 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"));

}