CakePHP データベース接続の文字コードを指定する

PHP

レンタルサーバー等、PHPの設定によってはDB接続時の文字コードを指定したいことがあります。
CakePHPでは、app/config/database.phpで文字コードを以下のように指定することができます。

 var $default = array('driver' => 'mysql',
     'connect' => 'mysql_connect',
     'host' => 'my_host',
     'login' => 'my_name',
     'password' => 'my_pass',
     'database' => 'my_database',
     'encoding' => 'utf8',
     'prefix' => '');

参考
http://book.cakephp.org/ja/view/1531/Cake%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E8%A8%AD%E5%AE%9A

CakePHP バリデートで入力した値が消えてしまう

PHP

CakePHP バリデートで入力した値が消えてしまう

バリデートをモデルに作るやり方でも、コントローラーに書いて処理させる、でもよいのですが、エラーになって戻る画面で、せっかく入力した値が消えてしまうと困りますよね。

普通にCakePHPのデフォルトで吐き出すコードで作っていれば、そんなことはないのですが…。

そんな入力した値が保持されない場合は、ビューファイルに初期値を設定していないか確認してみてください。

初期値の設定を外すと治る場合があります。

CakePHP ファイルのアップロードフォームを作る

PHP

CakePHP 画像や各種ファイルのアップロードフォームを作る

ファイルをアップロードするフォームの作り方が、本家のサイトでリンクが違うようになっているので?ちょっと書いておきます。

ここではバリデーションなど余分なことはつけず、フォームの作り方だけ紹介しますね。
フォームヘルパーを使えば、簡単にできます。

例:画像のアップロードフォーム

 データベースのテーブル名 wimages
 フィールド img_name に画像ファイル名が保存されるようにします。
 
 <モデル>
 app/models/wimage.php を下記のように作ります。
 class Wimage extends AppModel
 {
    var $name = 'Wimage';  
 }
 <コントローラー>
 app/controllers/wimages_controller.php を下記のように作ります
 class WimagesController extends AppController {
    var $name = 'Wimages';
    function upload()
  {	

if (!empty($this->data)) {

     //アップロードするファイルの場所

 $uploaddir = ‘C:\Program Files\xampp\htdocs\cake\img\\’;
 $uploadfile = $uploaddir . basename($this->data[‘Wimage’][‘img_name’][‘name’]);

      //画像をテンポラリーの場所から、上記で設定したアップロードファイルの置き場所へ移動

 if (move_uploaded_file($this->data[‘Wimage’][‘img_name’][‘tmp_name’], $uploadfile)){

      //成功したら、Successを表示

   print “Success”;
  }else{

      //失敗したら、errorを表示

   print “error”;
  }

     }
   } 
 }
 <ビュー>
 views/wimages/upload.ctp を下記のように作ります。
 <h1>ファイル追加</h1>
 <?php
 //フォームをこの形で作る必要があります。
 echo $form->create('Wimage', array('enctype' => 'multipart/form-data',

‘action’ => ‘upload’) );

 echo $form->input('Wimage.img_name', array('type'=>'file' ));
 echo $form->end('Save Wimage');
 ?>

参考
CakePHPフォームの作成
http://book.cakephp.org/ja/view/183/Creating-Forms
CakePHP File Fields
http://book.cakephp.org/view/303/File-Fields

  • これはcaakephp3の話なのでしょうか?verを書いていただけるとありがたいです — あd {2016-10-04 (火) 17:06:45}
  • すみません、2系の話です。。。確かに、バージョンを書いておけばよかったですね。 — 中の人 {2016-10-04 (火) 18:43:40}

CakePHP フォームの送信先にパラメーターを渡す

PHP

Cake PHP フォームの送信先にパラメーターを設定する

CakePHP 1.2.3.8166

 //例:view ファイルに記述
 //アクション addに4というパラメーターを送りたい場合
 echo $form->create(
      null, array('url' => 
          array('controller' => 'projects', 
             'action' => 'add',
             4
             )
            )
          );

CakePHP プルダウンメニューを作る

PHP

CakePHP プルダウンメニューを作る

CakePHP1.3

CakePHPの本家マニュアルサイトにプルダウンメニュー(

✨目を輝かせて✨仕事をしている人がいます。プログラマー募集中!

目を輝かせて仕事をしている人がいます

カテゴリー

広告

アーカイブ

最近の投稿