1

ページ上のフォーム:

<div>
<?php echo form_open('add/player');
    echo form_label('First Name','playerFirstName');
    echo form_input('playerFirstName','test');
    echo "<br />";
    echo form_label('Last Name','playerLastName');
    echo form_input('playerLastName','test');
    echo "<br />";
    echo form_submit('addPlayer','Add Player');
    echo form_close(); ?>
</div>

呼び出されたコントローラー:

class Add extends CI_Controller
{
    public function index()
    {
        $this->load->view('header');
        $this->load->view('add');
        $this->load->view('footer');
    }

    public function Player()
    {
        if(strtoupper($_SERVER['REQUEST_METHOD']) == 'POST')
        {
            if(basename($_SERVER['HTTP_REFERER']) == basename($_SERVER['PHP_SELF']))
            {
                $this->load->model('players');
                $returnMessage = $this->players->add_player($this->input->post('playerFirstName'), $this->input-post('playerLastName'));
            }
        }
        $this->load->view('header');
        $this->load->view('addplayer');
        $this->load->view('footer');
    }
}

私は PHP、CodeIgniter、MySQL (または一般的な Web コーディング) に関しては非常に初心者なので、何か提案があれば、ためらわずに提案してください (ただし、クレジットは作成した人に与えられます)。私の質問に答えますが、私のコードを最適に機能させるわけではありません)。ただし、私の質問に関しては、文字列が別の文字列内にあるかどうかを確認する方法はありますか? My $returnMessage、成功した場合、単語successfullyが含まれます。私がやりたいことは、プレーヤーが追加されていない場合、フォームから値をリロードして元に戻したいということです。ここがややこしいところです。

名前は table に保存されますpeople_names。テーブルに、その名前に関連付けられている をテーブルplayersに保存します。私の関数では、名前がテーブルにあるかどうかを確認し、そうでない場合は追加し、適切な ID を使用してプレーヤーをテーブルに追加します。このため、使用できるかどうかはわかりません。もしそうなら、私に知らせてください。nameidpeople_namesadd_playerplayersform_validation

だから私がしたいのは、をチェックして$returnMessage、含まれていない場合はsuccessfully、フィールドに値を追加したいということです。ただし、文字列が別の文字列の中にあるかどうかを確認できる関数が見つかりません。文字列比較関数と部分文字列関数が表示されますが、文字列が含まれていません。何か案は?ありがとう。

4

2 に答える 2

5

ネイティブ PHP を使用strpos: http://php.net/manual/en/function.strpos.php

乾杯

于 2012-11-08T17:24:11.013 に答える
2

http://php.net/manual/en/function.strpos.php

if (strpos($returnMessage,'successfully') !== false) {
 echo 'true';
}
于 2012-11-08T17:27:51.507 に答える