回答編集履歴

2 インデント調整

m.ts10806

m.ts10806 score 36132

2018/04/29 04:48  投稿

いきなりリダイレクトを入れて確認するのではなく、ひとまず任意の文字列を出力して
確実に時間による切り分けができていると確認してから入れられては?
読み込み速度が気になるなら、[header()でリダイレクト](https://techacademy.jp/magazine/11609)かけた方が良いと思います。
あとintval()するくらいならdate()時点で頭ゼロがつかないGで時間をとった方が良いかと。
```php
$time = date('G');
```
# 参考コード
質問者さんからご依頼があったのでコードに起こしてみます。
※すみませんが未検証なので、あくまで実装イメージとしてください。
注意点:すべての画面出力(phpでのechoなども含む)より前に書いてください
```php
<?php
date_default_timezone_set('Asia/Tokyo');   
$time = date('G');
if (0 <= $time && $time <= 8) {
header('Location: ###0~8時の場合のリダイレクト先');
exit(0);
elseif (20 <= $time && $time <= 24) {
header('Location: ###20~24時の場合のリダイレクト先');
exit(0);
   header('Location: ###0~8時の場合のリダイレクト先');
   exit(0);
}elseif (20 <= $time && $time <= 24) {
   header('Location: ###20~24時の場合のリダイレクト先');
   exit(0);
}
//それ以外 headerリダイレクト+exitしているのでelseは必要なし
```
1 コード

m.ts10806

m.ts10806 score 36132

2018/04/28 06:23  投稿

いきなりリダイレクトを入れて確認するのではなく、ひとまず任意の文字列を出力して
確実に時間による切り分けができていると確認してから入れられては?
読み込み速度が気になるなら、[header()でリダイレクト](https://techacademy.jp/magazine/11609)かけた方が良いと思います。
あとintval()するくらいならdate()時点で頭ゼロがつかないGで時間をとった方が良いかと。
```php
$time = date('G');
```
```
# 参考コード
質問者さんからご依頼があったのでコードに起こしてみます。
※すみませんが未検証なので、あくまで実装イメージとしてください。
注意点:すべての画面出力(phpでのechoなども含む)より前に書いてください
```php
<?php
date_default_timezone_set('Asia/Tokyo');   
$time = date('G');
if (0 <= $time && $time <= 8) {
header('Location: ###0~8時の場合のリダイレクト先');
exit(0);
elseif (20 <= $time && $time <= 24) {
header('Location: ###20~24時の場合のリダイレクト先');
exit(0);
}
//それ以外 headerリダイレクト+exitしているのでelseは必要なし
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る