asklife

IT&Life

Month: 10月 2011 (page 2 of 4)

PHP $_POSTでNotice: Undefined indexが多発する際の対処法

PHP $_POSTでNotice: Undefined indexが多発する際の対処法

対処例

・issetでif/elseの条件分岐
参考
http://www.cpa-lab.com/tech/097

・htmlspecialchars(@)
参考
http://www.php.net/manual/ja/f……tities.php

【追記】Message: SQLSTATE[23000]: Integrity constraint violation: 1048 Column ‘COMPANY_NAME’ cannot be n ull の対処法

【追記】Message: SQLSTATE[23000]: Integrity constraint violation: 1048
Column ‘COMPANY_NAME’ cannot be null の対処法

◆view/entry

[form action=”” method=”post”]
[input type=”text” name=”Company_name” value=””]
[input type=”submit” value=”登録”]
[/form]

◆controller/entryController

[php]
public function entryAction()
{

$entry = new Company();
$data = array(
‘COMPANY_NAME’ => $_POST[“Company_name”],
‘INVALID_FLAG’ => 0,
‘DELETE_FLAG’ => 0,
);
$entry->insert($data);
}
[/php]

で、自身に $_POST[“Company_name”]を返そうとしている。

が、アクセス毎にcontrollerが動いてしまっている。

そこで、if/elseで$_POSTがnullかどうかを判定しよう。

◆controller/entryController改定

[php]

public function entryAction()

{

if($_POST[“Comapny_name”]==null){

echo ‘null’;

}

else{

$entry = new Company();

$data = array(

‘COMPANY_NAME’ => $_POST[“Company_name”],

‘INVALID_FLAG’ => 0,

‘DELETE_FLAG’ => 0,

);

$entry->insert($data);

}

}

[/php]

Zend_Formの使い方まとめ

Zend_Formの使い方まとめ

◆基本

[php]// 汎用的なフォームオブジェクト
$form = new Zend_Form();
// 独自のフォームオブジェクト
$form = new My_Form()
[/php]

設定した値を渡す

[php]
// 設定オプションを渡します

$form = new Zend_Form($config);[/php]

Zend_Form では、 Zend_Loader_PluginLoader を使用することで 別の要素やデコレータの位置を指定することができます。
それぞれにプラグインローダーを関連づけることができ、 汎用的なアクセサを使用してそれを取得したり変更したりします。

使用できるローダーの型は ‘element’ と ‘decorator’ です。

◆要素に関して

Zend_Form では、フォームに要素を追加したり フォームから要素を削除したりするためのアクセサを提供しています。
これらは要素オブジェクトのインスタンスを受け取ることもできますし、 ファクトリとして要素オブジェクトのインスタンスを作成させることもできます。

要素を追加するもっとも基本的なメソッドが addElement() です。 このメソッドは、 Zend_Form_Element 型 (あるいは
Zend_Form_Element を継承したクラス) のオブジェクト あるいは新しい要素を作成するための引数 (要素の型や名前、設定オプション)
を受け取ります。

例)

[php]// 要素のインスタンスを使用します
$element = new Zend_Form_Element_Text(‘foo’);
$form->addElement($element);
// ファクトリを使用します// // Zend_Form_Element_Text 型で// ‘foo’ という名前の要素を作成します
$form->addElement(‘text’, ‘foo’);
// 要素の label オプションを渡します
$form->addElement(‘text’, ‘foo’, array(‘label’ => ‘Foo:’));

[/php]

参考
http://framework.zend.com/manu……forms.html

Message: SQLSTATE[23000]: Integrity constraint violation: 1048 Column ‘COMPANY_NAME’ cannot be null の対処法

Message: SQLSTATE[23000]: Integrity constraint violation: 1048 Column
‘COMPANY_NAME’ cannot be null の対処法

環境
MySQL 5.1.52

考えられる原因はおそらくはDBのエラーだろう
→1048エラーはNOT NULL制約のエラー

では、これを解決するためにはnull にならないようにコーディングする必要がある。

Zend環境下でformを使ったページを開く際にこのエラーが起こる。
考えうる原因
・リンクからページ遷移した際にControllerをたたいてしまっている。
対処法
・リンク元ページでform→submitしてしまう。

やりたいことは、form→submitでCOMPANY_NAMEにtextをinsertしたいだけ。

[php]
public function entryAction()
{

$entry = new Company();
$data = array(
‘COMPANY_NAME’ => $_POST[“Company_name”],
‘INVALID_FLAG’ => 0,
‘DELETE_FLAG’ => 0,
);
$entry->insert($data);
}
[/php]

Twitter APIの検索機能は search.atomにするだけでRSSを取得出来る

Twitter APIの検索機能は search.atomにするだけでRSSを取得出来る

例えば、twitter検索
ttp://twitter.com/#!/search-home


「ジョブズ」

@asahi

@cnet_japan
から
検索したい時には
「ジョブズ from:asahi OR from:cnet_japan」
という検索の形式をとる。

この検索結果をRSS化してRSS Readerで読もうと思うと
search.atomという拡張子をつければいい

ttp://search.twitter.com/search.atom?q=%E3%82%B8%E3%83%A7%E3%83%96%E3%82%BAfrom%3Aasahi%20OR%20from%3Acnet_japan

上記が
「ジョブズ from:asahi OR from:cnet_japan」
を示している。

これを使えば面白いことが出来そう。

Older posts Newer posts

© 2017 asklife

Theme by Anders NorenUp ↑