牧尾竜一
ryuic****@jom*****
2008年 7月 12日 (土) 10:41:18 JST
JOMRです。
編集については大分理解出来てきました。
昨日、kunitsujiさんが書いてくださった記述に中にあった
エラー表示の為のしくみについてなのですが、下記のようにしてみました。
やり方、考え方がおかしいかも知れませんが、とりあえず編集の入力画面では表
示しました。
ただ、編集確認時には
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: msg
Filename: views/customer_edit_confirm.php
Line Number: 15
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: err_flag
Filename: views/customer_edit_confirm.php
Line Number: 18
とエラーになってしまいます。
やはり書き方が間違っているのでしょうか?
class Customer extends Controller {
var $limit = 5;
var $edit_message = '入力してください';
var $edit_confirm_message = '以下の内容でよろしいですか?';
var $edit_error_message = '<span style="color:red">指定のIDではデータが
見つかりませんでした。</span>';
function edit($cu_id = '')
{
//まず入力をさせる
$cu_id = intval($cu_id);
$this->db->where(array('cu_id'=>($cu_id)));
$query = $this->db->get('customer');
if ($query)
{
$row = $query->row();
$data['cu_id'] = $row->cu_id;
$data['cu_name'] = $row->cu_name;
$data['cu_kana'] = $row->cu_kana;
$data['cu_tel'] = $row->cu_tel;
$data['cu_fax'] = $row->cu_fax;
$data['cu_mail'] = $row->cu_mail;
$data['biko'] = $row->biko;
$data['datetime'] = $row->datetime;
$data['msg'] = $this->edit_message;
$data['err_flag'] = FALSE; //エラーはない
}
else
{
//指定のIDが見つからなかった場合
$data['msg'] = $this->edit_error_message;
$data['err_flag'] = TRUE; //エラーとする
}
$this->load->view('customer_edit', $data);
}
//edit_confirm
function edit_confirm()
{
if ($this->input->post('submit') == '戻る')
{
//入力画面へ戻る
$cu_id = intval($cu_id);
$this->db->where(array('cu_id'=>($cu_id)));
$query = $this->db->get('customer');
if ($query)
{
$row = $query->row();
$data['cu_id'] = $row->cu_id;
$data['cu_name'] = $row->cu_name;
$data['cu_kana'] = $row->cu_kana;
$data['cu_tel'] = $row->cu_tel;
$data['cu_fax'] = $row->cu_fax;
$data['cu_mail'] = $row->cu_mail;
$data['biko'] = $row->biko;
$data['datetime'] = $row->datetime;
$data['msg'] = $this->edit_confirm_message;
$data['err_flag'] = FALSE; //エラーはない
}
else
{
//指定のIDが見つからなかった場合
$data['msg'] = $this->edit_error_message;
$data['err_flag'] = TRUE; //エラーとする
}
$this->load->view('customer_edit', $data);
}
else
{
$data = array(
'cu_id' => $this->input->post('cu_id'),
'cu_name' => $this->input->post('cu_name'),
'cu_kana' => $this->input->post('cu_kana'),
'cu_tel' => $this->input->post('cu_tel'),
'cu_fax' => $this->input->post('cu_fax'),
'cu_mail' => $this->input->post('cu_mail'),
'biko' => $this->input->post('biko'),
'datetime' => date('Y-m-d H:i:s', time()),//更新日付に変
えてみる
);
//dataの内容確認時はこのしたの記述を有効にする
//var_dump($data);
$this->load->view('customer_edit_confirm', $data);
}
}
}
kunitsuji さんは書きました:
> kunitsujiです。
>
> <Aタグは、リンクの設定ですね。
> そこをクリックしたときに移動します。INPUTのテキストボックスに入れておか
> ないと、POSTで移動しません。
>
>
>> JOMRです。
>>
>>
>> kunitsuji さんは書きました:
>>> kunitsujiです。
>>>
>>> 一番下の部分がなぜか空欄になっていますね。
>>> <input type="hidden" name="cu_id" value="" />
>>> これです。つまりここにIDがないために、ID=0のユーザーに更新かけに行ってい
>>> ないので無視されているということでしょうね。
>> ビューの customer_edit.php を
>> <tr>
>> <td>顧客ID</td>
>> <td><input type="hidden" name="cu_id"
>> value="<?=form_prep($cu_id);?>">[<?=form_prep($cu_id);?>]</td>
>> としたら無事編集が完了するようになりました。
>> 以前は以下のようになっておりました。
>>
>> <tr>
>> <td>顧客ID</td>
>> <td><a name="cu_id"
>> value="<?=form_prep($cu_id);?>">[<?=form_prep($cu_id);?>]</a></td>
>> </tr>
>>
>> inputタグ と aタグとでは何が違うのでしょうか?
>> aタグではPOSTする事ができないんでしょうか?
>>
>>
>>> ここまでわかってきたら、後はなぜhiddenのcu_idに値が渡っていないかを見つ
>>> けるのはできそうですね!
>>>
>> _______________________________________________
>> Codeigniter-users mailing list
>> Codei****@lists*****
>> http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users
>
> _______________________________________________
> Codeigniter-users mailing list
> Codei****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users
>
>
> No virus found in this incoming message.
> Checked by AVG - http://www.grisoft.jp
> Version: 8.0.138 / Virus Database: 270.4.7/1545 - Release Date: 2008/07/10 18:43
>
>
>