回答編集履歴

3 加筆修正

退会済みユーザー

退会済みユーザー

2018/08/09 16:38  投稿

header()を使いたいときに、
たとえ1行でも空行などでhtml出力してしまうと、
htmlコンテンツを送信する流れになってしまって
header()が無視されたりするので、
header()でリダイレクトするときは余計なhtml出力しないように
分岐を徹底する方がいい。
ソースコードの冒頭で杓子定規に
`header("Content-type: text/html; charset=utf-8");`
を書いてしまうとリダイレクトできなくないかな。
それと、再現しようとすると、
$token変数が突然出現しているために
Notice: Undefined variable: token
のエラーになる。
$tokenの初期化をlogin.phpでやってないように見えるけど、  
db.phpでやってたりしますか?  
もしもまだやっていなければ、
php.iniの設定変更をして、
デバッグしやすいようにする:
[PHPのエラー表示設定について - Qiita](https://qiita.com/shotets/items/3c95aef631b2c5eadae5)
のと、
Xdebug対応できるエディタや統合開発環境を使えば、
ステップ実行とかできたりするのでおすすめ。
2 加筆修正

退会済みユーザー

退会済みユーザー

2018/08/09 16:37  投稿

header()を使いたいときに、
たとえ1行でも空行などでhtml出力してしまうと、
htmlコンテンツを送信する流れになってしまって
header()が無視されたりするので、
header()でリダイレクトするときは余計なhtml出力しないように
分岐を徹底する方がいい。
ソースコードの冒頭で杓子定規に
`header("Content-type: text/html; charset=utf-8");`
を書いてしまうとリダイレクトできなくないかな。
それと、再現しようとすると、
$token変数が突然出現しているために
Notice: Undefined variable: token
のエラーになる。
のエラーになる。
もしもまだやっていなければ、
php.iniの設定変更をして、
デバッグしやすいようにする:
[PHPのエラー表示設定について - Qiita](https://qiita.com/shotets/items/3c95aef631b2c5eadae5)
のと、
Xdebug対応できるエディタや統合開発環境を使えば、
ステップ実行とかできたりするのでおすすめ。
1 加筆修正

退会済みユーザー

退会済みユーザー

2018/08/09 16:20  投稿

header()を使いたいときに、
たとえ1行でも空行などでhtml出力してしまうと、
htmlコンテンツを送信する流れになってしまって
header()が無視されたりするので、
header()でリダイレクトするときは余計なhtml出力しないように
分岐を徹底する方がいい。
分岐を徹底する方がいい。
ソースコードの冒頭で杓子定規に
`header("Content-type: text/html; charset=utf-8");`
を書いてしまうとリダイレクトできなくないかな。
それと、再現しようとすると、
$token変数が突然出現しているために
Notice: Undefined variable: token
のエラーになる。

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