簡體   English   中英

提交后如何保持文字輸入

[英]How to keep text input after submit

我已經為我創建了一個網絡搜索。 但是我想要當按下提交按鈕時,結果出來時在文本框中輸入的文本不會丟失。 這是我的代碼:控制器:

public function index(){
    $data = $this->mymodel->GetArtikel();
    $this->load->view('tabel',array('data' => $data));
    }

楷模 :

public function GetArtikel(){
    $this->db->select('a.id_artikel, a.judul, a.tanggal_buat, a.tanggal_update, b.nama_kategori, c.nama_lengkap, c.id_user');
    if(!empty($_POST['cari_judul'])){
        $this->db->like('a.judul',$_POST['cari_judul']);
    }
    if(!empty($_POST['cari_penulis'])){
        $this->db->like('c.nama_lengkap',$_POST['cari_penulis']);
    }
    if(!empty($_POST['cari_kategori'])){
        $this->db->where('b.nama_kategori',$_POST['cari_kategori']);
    }
    $this->db->from('artikel as a');
    $this->db->join('kategori as b', 'a.id_kategori=b.id_kategori','LEFT');
    $this->db->join('user as c','a.id_user=c.id_user','LEFT');
    $data=$this->db->get();

    return $data->result_array();
}

查看:

<form method="POST" action="<?php echo base_url()."index.php/crud/"; ?>">
    <table widht="200" border="1">
        <tr>
            <td>Judul</td>
            <td><input type="text" name="cari_judul" value="<?php echo $_POST['cari_judul']; ?>"></td>
        </tr>
        <tr>
            <td>Penulis</td>
            <td><input type="text" name="cari_penulis"></td>
        </tr>
        <tr>
            <td>Kategori</td>
            <td><input type="radio" name="cari_kategori" value="Fiksi" >Fiksi
           <input type="radio" name="cari_kategori" value="Non Fiksi" >Non Fiksi</td>
        </tr>
        <td colspan="2"><input type="submit" value="Cari"></td>
        </tr>
    </table>

如果您要重新填充發布的值-

您可以在控制器中設置會話-

$this->load->library('session');
if ($this->input->post('name')) {
    $this->session->set_userdata('name' => $this->input->post('name'));
}

要么

設定值()

如果要在提交表單后保留輸入值,而不是使用set_value表單幫助器方法,它將像這樣

<input type="text" name="cari_judul" value="<?php echo set_value('cari_judul') ?>">

要了解有關表單助手的更多信息,請查看文檔

http://www.codeigniter.com/user_guide/helpers/form_helper.html

您可以使用flashdata存儲一次重定向的值。 但是要使用flashdata,您必須在創建FlashData后使用redirect()

$this->session->set_flashdata('name' => $this->input->post('name'));
redirect("controller/method");

希望這可以幫助。

您可以像這樣更改代碼

public function index(){
    $data = $this->mymodel->GetArtikel();
    $this->load->view('tabel',array(
        'data' => $data,
        'judul' => $_POST['cari_judul'],
        'penulis' => $_POST['cari_penulis'],
        'kategori' => $_POST['cari_kategori']
    ));
}

發回您輸入的所有數據

在你看來

<td><input type="text" name="judul" value="<?php echo $cari_judul; ?>"></td>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM