-1

重複の可能性:
PHP によって既に送信されたヘッダー

私のphpファイルには次のコードがあります。以下のコードで明確なヘッダー関数を使用して、このページからリダイレクトしたいと思います。echo コマンドがないことを確認し、 ob_start ( ); も配置しました。ファイルの先頭にまだ次のエラーが表示されます:

警告: ヘッダー情報を変更できません - /hermes/bosweb/web054/b548/ipg.psdingcampsduscom/ の (/hermes/bosweb/web054/b548/ipg.psdingcampsduscom/facebook_registration_plugin/store_user_data.php:1 で出力が開始された) ヘッダーが既に送信されています171 行目の facebook_registration_plugin/store_user_data.php

コードは次のとおりです。

<?php ob_start();
            define('FACEBOOK_APP_ID', 'xxxxxxxx');
            define('FACEBOOK_SECRET', 'xxxxxxxxxx');
            // No need to change function body
            function parse_signed_request($signed_request, $secret) {
                list($encoded_sig, $payload) = explode('.', $signed_request, 2);
                // decode the data
                $sig = base64_url_decode($encoded_sig);
                $data = json_decode(base64_url_decode($payload), true);
                if (strtoupper($data['algorithm']) !== 'HMAC-SHA256') {
                    error_log('Unknown algorithm. Expected HMAC-SHA256');
                    return null;
                }
                // check sig
                $expected_sig = hash_hmac('sha256', $payload, $secret, $raw = true);
                if ($sig !== $expected_sig) {
                    error_log('Bad Signed JSON signature!');
                    return null;
                }
                return $data;
            }
            function base64_url_decode($input) {
                return base64_decode(strtr($input, '-_', '+/'));
            }
            if ($_REQUEST) {
                $response = parse_signed_request($_REQUEST['signed_request'],
                                FACEBOOK_SECRET);
header("location: fbwe/step2.php?name=".$name."&email=".$email."&gender=".$gender."&arts=".$cb1."&act=".$cb2."&cooking=".$cb3."&dance=".$cb4."&designing=".$cb5."&fashion=".$cb6."&interior=".$cb7."&modeling=".$cb8."&photography=".$cb9."&poetry=".$cb10."&programming=".$cb11."&reading=".$cb12."&sketching=".$cb13."&singing=".$cb14."&sports=".$cb15."&stunting=".$cb16."&videography=".$cb17."&other=".$cb18);

                // Connecting to Database

            } else {
                //echo '$_REQUEST is empty';
            }
            ?>

誰が何が間違っているのか理解できますか?

4

1 に答える 1

0

ヘッダー関数を使用する前に注意すべき点がいくつかあります。

  1. ヘッダー関数の前に、echo または print ステートメントがあってはなりません。
  2. ページの上下にスペースがあってはなりません。つまり、ページは で始まり で<?php終わり?>ます。これらのタグの前後に空白があってはなりません。
于 2012-06-11T09:25:43.230 に答える