2016-05-07 11 views
-1

問題が発生しました。私はcpanelのpublic_htmlフォルダに通常のhtmlファイル(contact.html)を持っています。 CodeIgniterで開発された管理パネル。今私がしようとしているのは、contact.htmlファイルからcodeigniterコントローラーへの入力データを印刷または受け取ることです。以下のコードcodeigniterフォルダの外部にcodeigniterフォルダへの入力データを投稿

contact.html

<html> 
    <form name ="userinput" action="admin/index.php/contact/contact" method="post"> 
    <div class="row contact-form"> 
    <div class="col-lg-6"> 
    <input type="text" name="yourname" id="yourname" class="form-control" placeholder="Your Name"> 
    </div><!-- end col --> 
    </div><!-- end row --> 
</form> 

コントローラ言及:contact.php

<?php 
class Contact extends CI_Controller 
{ 
    function contact() 
    { 
    echo 'test'; 
    echo $yourname = $this->input->post('yourname'); 
    } 
}?> 

私はデータ 'テスト' を提出しています印刷しているのが、私は得ることができませんテキストボックスの投稿データ。 エラーは以下のとおりです。

A PHPエラーが

重大度発生しました:未定義のプロパティを::

メッセージに注目してください問い合わせ:: $入力

ファイル名:コントローラー/ contact.php

行番号:12

私はそれをどうやって得るのか教えてください。

+0

役立ちます – Poria

+0

はい私はすでに機能を作成しました..しかし、知りませんそれが表示されていません。@Poria –

答えて

1
<?php 
    class Contact extends CI_Controller 
    { 
    public function contact(){ 
    echo 'test'; 
    echo $yourname = $this->input->post('yourname'); 
    $this->load->view('index'); // put this file in application/views/index.php ,also rename to .php 
    } 
    } 
?> 

コントローラで機能を作成してみてください。それが役に立てば幸い !あなたは、インデックス機能や他の機能

ファイル名持っている必要があります

+0

$ _POST ['yourname'];を試してみてください。 $ this-> input-> post( 'yourname')の代わりに。 – Poria

+0

問題はcontact.htmlファイルがcodeignigterフォルダ内にないことです。 public_htmlの内部にはCIがあるフォルダ内にフォルダ管理者があり、外部管理フォルダのcontact.htmlファイルが存在します。それが私が問題に直面している理由です。だからciは$ this-> input-> post( 'yourname')を取得していません –

+0

あなたはインデックスを置く必要があります。フォルダアプリケーション内のhtmlファイル/ビュー – Poria

0

:Contact.phpファイル名とクラスは、コントローラとモデルとの最初の文字だけ大文字を持つ必要があります。

<?php 

class Contact extends CI_Controller { 

    public function index() { 

    $yourname = $this->input->post('yourname'); 
    echo $yourname; 

    // Since you had named the view file with a .html you need to add .html 
    $this->load->view('contact.html'); 

    } 

} 

あなたの代わりに.htmlをするの.phpであなたのビューファイルに名前を付ける場合は

$this->load->view('contact'); 

は、私が自動ロードautoload.phpにurl helperとは、それが可能だform helper

+0

@poriaお願いします。私は私の質問を編集しました。チェックしてください。問題はcontact.htmlファイルであるcodeignigterフォルダの中ではありません。 public_htmlの内部にはCIがあるフォルダ内にフォルダ管理者があり、外部管理フォルダのcontact.htmlファイルが存在します。私が問題に直面しています理由です –

0

になりますので、そのあなたの関数名は、コンストラクタとして扱っているクラス名と同じです。関数の名前を変更し、アクションリンクをフォームに更新して、もう一度やり直してください。

0

より良い値に

echo $_POST['yourname']; 

希望を得るためのネイティブPHPの方法を試してみてください、この、あなたの連絡先コントローラでの接触という名前の関数を作成する必要が

関連する問題