# 配置済みExpressフォームブロック編集後保存時の不具合

**URL:** <https://forums.concretecms.org/t/express/8896>\
**Category:** 開発\
**Tags:** bug\
**Created:** [March 22, 2025, 8:00am UTC](https://forums.concretecms.org/t/express/8896 "2025-03-22T08:00:38Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Genki.K](https://forums.concretecms.org/user_avatar/forums.concretecms.org/genki.k/32/5178_2.png) [@Genki.K](https://forums.concretecms.org/u/Genki.K)\
**Post date:** [March 22, 2025, 8:00am UTC](https://forums.concretecms.org/t/express/8896/1 "2025-03-22T08:00:38Z")

</div>

## 内容

設置したExpressフォームブロックで送信後の遷移先ページを設定していた場合、該当項目を編集し保存すると型エラーが発生し保存出来ない。  
観測した際は設定を解除した際に発生しました。

## 環境

- ConcreteCMS Version 9.3.5
- PHP Version 8.3
- MySQL Version 8.1

最新版では解消されている可能性がありますが、該当箇所のコードに変更はないようです。

## エラー箇所

ソースファイル `concrete/blocks/express_form/controller.php` の `save()` 関数477行目。

```php
$data['redirectCID'] = ($data['redirectCID'] === '') ? 0 : $data['redirectCID'];

```

で型変換のエラーが発生します。  
`save()` を下記の状態で Override することで回避出来ました。

`application/blocks/express_form/controller.php`

```auto
    public function save($data)
    {
        $data['redirectCID'] = (integer) $data['redirectCID']; //型変換
        parent::save($data);
    }

```
