[Codeigniter-users] 編集について

Back to archive index

kunitsuji tsuji****@m-s*****
2008年 7月 11日 (金) 12:20:51 JST


 kunitsujiです。

ではViewでちゃんと<inputされているかを見ましょうか。
edit_viewの状態で、つまり
画面入力を行うときのHTMLのソースを見ればOKですかね。

まず、cu_idを指定して、該当のユーザーを表示する。
次に、その内容を画面に表示させていて、更新しますか?はい
で、テキストボックスが表示される

で、確認画面を表示させて、ということだとおもうのですが、
まず
確認画面の部分でHIDDENになっているところに値が入っているかどうかです。
これが入っていればPOSTで受け取れるはず。
これがないとだめですね。

たぶんないんじゃないかな?
無いということになれば、なぜないのか。
$this->load->view('customer_edit_confirm', $data);
でDataが渡されていない可能性が高いということですね。


>JOMRです。
>
>説明不足ばかりですいません。
>また怒られてしまいます。
>
>ビューには以下を記述しています
>
><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
>"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
><html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
><head>
><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
><link rel="stylesheet" href="<?=base_url();?>css/bbs.css" type="text/css" />
><script type="text/javascript" src="<?=base_url();?>js/bbs.js"></script>
><title>顧客管理</title>
></head>
>
><body
>onload="MM_preloadImages('<?=base_url();?>images/icons/bbs_new_on.jpg')">
><!-- header -->
><?=$this->load->view('customer_header');?>
>
><?=form_open('customer/edit');?>
>
><table>
><tr>
>	<td>顧客ID</td><td><a name="cu_id">[<?=form_prep($cu_id);?>]</a></td>
></tr>
><tr>
>	<td>顧客名</td><td><input type="text" name="cu_name"
>value="<?=form_prep($cu_name);?>" /></td>
></tr>
><tr>
>	<td>連絡先</td><td><input type="text" name="cu_tel"
>value="<?=form_prep($cu_tel);?>" /></td>
></tr>
><tr>
>	<td>FAX番号</td><td><input type="text" name="cu_fax"
>value="<?=form_prep($cu_fax);?>" /></td>
></tr>
><tr>
>	<td>メールアドレス</td><td><input type="text" name="cu_mail"
>value="<?=form_prep($cu_mail);?>" /></td>
></tr>
><tr>
>	<td>備考</td><td><input type="text" name="biko"
>value="<?=nl2br(form_prep($biko));?>" /></td>
></tr>
><tr>
>	<td>登録日</td><td><?=form_prep($datetime);?></td>
></tr>
></table>
><?=form_close();?>
>
><?=form_open('customer');?>
>
><input type="submit" value="いいえ" />
><?=form_close();?>
>
><?=form_open('customer/edit/'. $cu_id);?>
><?=form_hidden('edit', '1');?>
><?=form_hidden('cu_name', $cu_name);?>
><?=form_hidden('cu_kana', $cu_kana);?>
><?=form_hidden('cu_tel', $cu_tel);?>
><?=form_hidden('cu_fax', $cu_fax);?>
><?=form_hidden('cu_mail', $cu_mail);?>
><?=form_hidden('biko', $biko);?>
><input type="submit" value="はい" />
><?=form_close();?>
>
><!-- footer -->
><?=$this->load->view('customer_footer');?>
></body>
></html>
>
>
>
>>  kunitsujiです。
>> 
>> postデータが取れてないということですね。。
>> Viewできっちりしていされているのかな?
>> cu_nameはうけとれているので、そこだけ入ってあとははいらないということは
>> ないとおもうので、Viewの記述がおかしいような気もしますね。
>> 
>> 
>>> JOMRです。
>>>
>>>> では表示させて確認しましょう。
>>> 表示させる方法も知りませんでした。
>>>
>>> 結果は
>>> array(7) { ["cu_name"]=> string(4) "test" ["cu_kana"]=> string(0) ""
>>> ["cu_tel"]=> string(0) "" ["cu_fax"]=> string(0) "" ["cu_mail"]=>
>>> string(0) "" ["biko"]=> string(0) "" ["datetime"]=> string(19)
>>> "2008-07-11 12:00:30" } UPDATE customer SET cu_name = 'test', cu_kana =
>>> '', cu_tel = '', cu_fax = '', cu_mail = '', biko = '', datetime =
>>> '2008-07-11 12:00:30' WHERE cu_id = 41
>>>
>>> となっています。これはPOSTされたものがないということなのでしょうか?
>>>
>>>>> function edit($cu_id = '')
>>>>> {
>>>>> 	$edit = (int) $this->input->post('edit');
>>>>> 	if ($edit == 1)
>>>>> 	{
>>>>> 		$data = array(
>>>>> 			'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()),
>>>>> 		);
>>>> 		//ここに
>>>> 		var_dump($data);
>>>> 		//をいれてdataの内容を確認してみる
>>>>> 		$cu_id = (int) $cu_id;
>>>>> 		$this->db->update('customer', $data, array('cu_id' => 
>>>>> $cu_id));
>>>> 		//ここにSQLを表示させてみる
>>>> 		echo $this->db->update_string('customer', $data, array
>>>> ('cu_id' => $cu_id)); 
>>>>> 		$this->load->view('customer_edit_finished');
>>>>> 	}
>>>>> 	else
>>>>> 	{
>>>> こんな感じで状況を追いかければいいです。
>>>> なぜ更新されないのか?
>>>> 正しく$dataが渡されているのかということですね。
>>>>
>>> _______________________________________________
>>> 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
>> 
>> 
>> 
>
>_______________________________________________
>Codeigniter-users mailing list
>Codei****@lists*****
>http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users




Codeigniter-users メーリングリストの案内
Back to archive index