HTML:改行文字列をtextarea内で表示

phpで作成した改行を入れた文字列textarea内に挿入して表示させる時に、改行がうまくいかなかったのでメモします。

下記のように改行箇所に「\n」や「<br>」をテキストエリアに入れてもそのまま表示されてしまいました。

<?php
$text = 'テスト\nテスト';
?>

<textarea><?php echo $text; ?></textarea>

HTML_textarea1


テキストエリア内で文字列改行させて表示させる場合は改行コードの「&#13;」を改行箇所に入れると正しく改行されて表示されました。

<?php
$text = 'テスト&#13;テスト';
?>

<textarea><?php echo $text; ?></textarea>

HTML_textarea2


また、データベースから取得したデータは改行されたまま表示されます。

上記が正しい方法かわかりませんが、テキストエリア内で改行することは確認できました。

WordPress:スパム対策プラグイン(Spammer Blocker)

WordPressを使用していて、スパム対策をしていないとスパムコメントが結構くるようになります。

スパムが大量にくるとサーバにも負荷がかかったりして、WEBページが重い状態になったりします。

WordPressを使用する場合は、スパム対策は必ず行った方がいいです。標準で入っているプラグインの「Akismet」も有効にしています。
Akismet」でも充分、スパム対策はできますが、今回は「Spammer Blocker」を設定した時の方法をメモします。

Spammer Blockerプラグインは同IPアドレスからスパムをブロックしたり、自動でスパムを削除してくれるのでとても便利です。


Spammer Blocker

スパム対策をするプラグインです。
一度スパム判定されたIPアドレスからのスパムをブロックします。
また、スパム判定されたコメントを自動で削除します。

「Spammer Blocker」ダウンロードページ


「Spammer Blocker」設定方法

1.プラグインから新規追加で「Spammer Blocker」で検索し、インストールします。

Spammer_Blocker1

Spammer_Blocker2

2.インストールした「Spammer Blocker」を有効化し、「設定」をクリックします。

Spammer_Blocker3

3.「Automatic IP address duplication」のStatusを「On」にチェックを入れ、設定します。

Spammer_Blocker4

※「Access restrictions」、「Detection of spammers」、「Banned message」は変更しないでOKです。

4.設定が完了すれば、「Spammer Blocker」がサイトに反映されます。


スパムが大量にくる場合などは、設定も簡単なので使用しやすいと思います。
WordPressではスパム対策は重要なので、おすすめです。

jQuery:jQueryのバージョンを確認する方法

jQueryを使用してWEBサイトを制作している時に、使用しているjQueryバージョンを確認することがあります。

新しいプラグインを導入する時など、対応していないバージョンがあるので、jQueryのバージョン確認を行います。
また、jQueryが動かない時なども確認を行います。

そのjQueryバージョン確認する際の簡単な確認方法をメモします。


確認を行いたいページで下記のjavascriptを実行します。

alert($.fn.jquery);

アラートで下記のように表示されます。

jquery_version1


また、ブックマークに下記を登録しておくとページ内に記述しなくても簡単に確認ができます。

javascript:alert($.fn.jquery);

jQueryのバージョンを確認したいページで登録したブックマークを呼び出すと同じようにアラートを出力します。

jquery_version2

※Firefoxで登録した場合


とても便利なのでブックマークにしておくと楽にバージョン確認が行えて良いと思います。

Linux:Gmailにアカウントを設定した時のエラー対処

Gmailに他のメールアカウントを設定しようとした際、エラーが出力されて設定できませんでした。
そのエラーが出た時の対処方法をメモします。

Gmailに他のメールアカウントを設定する時は、設定画面のアカウントタブを開き「自分の POP3 メール アカウントを追加」をクリックします。

gmail_account1

gmail_account2

メールアドレス入力後、メール設定した時に下記のエラーが表示されました。

gmail_account3

Connection timed out: There may be a problem with the settings you added. Please contact your other email provider to verify the correct server name and port.

色々調査したところ、サーバファイアウォールの設定に問題がありました。
iptablesの設定で110番ポートが日本からのみアクセス許可されていたのが原因だったようです。

下記にiptablesの変更点を記載します。


iptablesの設定変更

「ACCEPT_COUNTRY」を「ACCEPT」に変更します。

-A INPUT -p tcp -m tcp --dport 110 -j ACCEPT_COUNTRY

-A INPUT -p tcp -m tcp --dport 110 -j ACCEPT

設定完了後、再度Gmailに設定したら正常に設定することができました。

Fuelphp:データベースを複数使用する

Fuelphpデータベースに接続する時の設定ファイルは下記の場所にあります。

/fuel/app/config/db.php
/fuel/app/config/development/db.php

データベースの設定ファイルに別のデータベース情報を追加することで複数のデータベースを使用することが可能です。

下記にFuelphp複数データベース接続する為の設定方法・使用方法をメモします。


設定方法

下記のファイルに新しく設定するデータベース情報を追加します。

「fuel/app/config/db.php」

修正前

return array(

	'active' => 'default',

	'default' => array(
		'type'        => 'pdo',
		'connection'  => array(
			'persistent' => false,
		),
		'identifier'   => '`',
		'table_prefix' => '',
		'charset'      => 'utf8',
		'enable_cache' => true,
		'profiling'    => false,
	),

	'redis' => array(
		'default' => array(
			'hostname'  => '127.0.0.1',
			'port'      => 6379,
		)
	),

);

修正後

return array(

	'active' => 'default',

	'default' => array(
		'type'        => 'pdo',
		'connection'  => array(
			'persistent' => false,
		),
		'identifier'   => '`',
		'table_prefix' => '',
		'charset'      => 'utf8',
		'enable_cache' => true,
		'profiling'    => false,
	),

	'redis' => array(
		'default' => array(
			'hostname'  => '127.0.0.1',
			'port'      => 6379,
		)
	),

	// 追加
	'sample' => array(
		'type'        => 'pdo',
		'connection'  => array(
			'persistent' => false,
		),
		'identifier'   => '`',
		'table_prefix' => '',
		'charset'      => 'utf8',
		'enable_cache' => true,
		'profiling'    => false,
	),

);

「fuel/app/config/development/db.php」

修正前

return array(

	'default' => array(
		'connection'  => array(
			'dsn'        => 'mysql:host=localhost;dbname=hoge',
			'username'   => 'ユーザー名',
			'password'   => 'パスワード',
		),
	),

);

修正後

return array(

	'default' => array(
		'connection'  => array(
			'dsn'        => 'mysql:host=localhost;dbname=hoge',
			'username'   => 'ユーザー名',
			'password'   => 'パスワード',
		),
	),

	// 追加
	'sample' => array(
		'connection'  => array(
			'dsn'        => 'mysql:host=localhost;dbname=sample',
			'username'   => 'ユーザー名',
			'password'   => 'パスワード',
		),
	),

);

使用方法

追加したデータベースに接続する場合は、下記のように記述します。

$query = \DB::select()->from('test');
$query->execute('sample')->as_array();

execute()に追加したデータベースを指定するとデータを参照することができます。