前提・実現したいこと
PHP初心者です。
条件分岐により表示するページをリダイレクトで分けたいと考えています。
また、SEOの対策は不要と考えています。
【希望】
■土日の場合は終日別ページへ移動
■平日8時〜20時は昼用のページ(リダイレクトしない)
■平日20時〜翌日の8時は夜用のページ(リダイレクトする)
このようなイメージです。
エラーメッセージ
Parse error: syntax error, unexpected 'elseif' (T_ELSEIF) in /HPのURL.php on line 7
該当のソースコード
php
1<?php 2date_default_timezone_set('Asia/Tokyo'); 3$time = date('G'); 4$day = date('w') 5if ($day == 6 || $day == 0) { 6 header('Location: URL'); 7 exit(0);} 8elseif (0 <= $time && $time <= 8) { 9 header('Location: URL'); 10 exit(0);} 11elseif (20 <= $time && $time <= 24) { 12 header('Location: URL'); 13 exit(0); 14} 15//それ以外 headerリダイレクト+exitしているのでelseは必要なし 16?>
試したこと
平日のみであれば、エラーなくこちらのコードで実装できました。
php
1<?php 2date_default_timezone_set('Asia/Tokyo'); 3$time = date('G'); 4if (0 <= $time && $time <= 8) { 5 header('Location: URL'); 6 exit(0);} 7elseif (20 <= $time && $time <= 24) { 8 header('Location: URL'); 9 exit(0); 10} 11//それ以外 headerリダイレクト+exitしているのでelseは必要なし 12?>
補足情報①
SEOの対策は不要です。
サイト自体への集客はできる状態で、リダイレクト先に評価を渡す必要はありません。
補足情報②
文法の末尾の?>が余分だったということでしょうか?
下記の記述で正しいでしょうか?
php
1<?php 2date_default_timezone_set('Asia/Tokyo'); 3$time = date('G'); 4$day = date('w'); 5if ($day == 6 || $day == 0) { 6header('Location: URL'); 7exit(0);} 8elseif (0 <= $time && $time <= 8) { 9header('Location: URL'); 10exit(0);} 11elseif (20 <= $time && $time <= 24) { 12header('Location: URL'); 13exit(0); 14} 15//それ以外 headerリダイレクト+exitしているのでelseは必要なし
文法エラーくらい検出できる開発環境の導入をご検討ください。
前の質問にヒント書いたんですがそれはお読みになりました?ほぼ答え載せてますよ。
mts10806さん
わからず、追加で質問をした次第でした。
補足情報②を記述しましたので正誤判定お願いします。
m6uさん 回答ありがとうございます。文法エラーチェック導入していませんでした。お勧めがあれば教えてください。
その場で確認したことを教えてもらえれば良かったのですが・・(そしたらこの質問もおそらく起きてなかったはず・・)インデントはしっかりつけるようにしてください。{}の閉じが足りないとかそういうのに気づきやすくなります。
mts10806さん 以後気をつけていきたいと思います。ご指摘ありがとうございます。無事に機能しました!本当にありがとうございます!
回答2件
あなたの回答
tips
プレビュー