Archives by date

You are browsing the site archives by date.

【CakePHP2.3】ポスト可能なテキストリンクを出力する。

めも。

FormHelper::postLink()メソッドを使用する。
サブミットボタンではなく、あくまでもテキストリンクのクリックをトリガーに値の送信を開始したい場合に便利。

■書式

$this->Form->postLink($title, $url, $options, $confirmMessage);

■引数詳細

プロパティ 初期値 詳細
$title 省略不可 リンクのタイトル
$url null 値のサブミット先URL。Router::url()と同一のフォーマットで指定
$options array() フォームオプションの他、array(‘data’)が使用可能
$confirmMessage false 文字列を指定すると、確認メッセージとして出力してくれる

FormHelper::postButton()と似ているが、こちらはボタンではなくリンクである点が特徴。同時にJavascriptが生成され、ポスト自体はJavascriptによって行われる。postButton()メソッドと同様、$options[‘data’]にフォームからの値を渡すことでhiddenにて値を保持してくれる。

例えば以下のようなコードで。

<?php echo $this->Form->postLink('Submit', array('controller' => 'Hoges', 'action' => 'complete'), array('data' => $data)); ?>

※第三引数array(‘data’)の形式はpostButton()メソッドをまとめた際のエントリを参照されたし。↓

【CakePHP2.3】単独動作するサブミットボタンを出力する。

このようなHTMLが出力される。

<form action="/designs/test" name="post_524bb0f13ae60601421806" id="post_524bb0f13ae60601421806" style="display:none;" method="post">
	<input type="hidden" name="_method" value="POST">
	<input type="hidden" name="data[name]" value="hoge">
	<input type="hidden" name="data[password]" value="fuga">
	<input type="hidden" name="data[url]" value="http://google.com">
</form>
<a href="#" onclick="document.post_524bb0f13ae60601421806.submit(); event.returnValue = false; return false;">Submit</a>

 

【PHP】strtotime()に00日を渡すと、前月最終日の値が返却される。

はまったのでメモ。

たとえば。

$time = strtotime('2013-10-01');
var_dump(date('Y-m-d H:i:s', $time));
↓
string(19) "2013-10-01 00:00:00"

これは当然。
しかしこの状態で日付を00にした場合。

$time = strtotime('2013-10-00');
var_dump(date('Y-m-d H:i:s', $time));
↓
string(19) "2013-09-30 00:00:00"

00を指定した場合、1日前と判定される模様。
すなわち9月30日が返却される。

微妙にはまったので今後は気をつけよう。