0

jQuery の$.postメソッドを使用してユーザーをサインアップするための PHP コードを作成しました。次のファイルスキームがあります。

index.php (メイン ページ) > functions.php (登録フォームはここにあります。include を使用して登録フォームを index.php に含めます) > jquery.js ($.post リクエストを php.php に送信するため) > php. php (すべての php はここにあります)。

登録が成功したら、php.php に Cookie を設定したいと思います。ただし、私の Cookie は index.php では利用できません。

この問題が発生する原因は何ですか?

4

2 に答える 2

0

Cookie を設定するには、トリガーが必要です。

登録:

if (isset($_POST['Submit'])){
  setCookie('Test'); // Testing cookie 
  }

これがトリガーの例です。更新/リダイレクト後に変更が追加され、ファイナライズされます。これにより、Cookie を表示できるようになります。

あなたが提供したコンテンツのために、現時点で私が提供できるのはこれだけです。

于 2013-05-28T19:51:07.773 に答える
0

私は何が起こっているかを予測しているかもしれませんが、いくつかのコードはそれを確認します. Web サーバーは最初にヘッダー (「Content-Type: HTML」および「Expires: Someday」を含む) を送信します。「Set-Cookies」はその 1 つで、実際の HTML コンテンツの前に送信する必要があります。コンテンツを送信した後で Cookie の値を設定しようとすると、失敗します。

$_COOKIE['val1'] = 'This will theoretically get through.';
echo '<p>This is HTML!</p>';
$_COOKIE['value'] = 'And this will not get through.';

(私はしばらくPHPを具体的に行っていないので、それが必要な方法であるかどうかを実際に忘れている可能性がありますsetcookie

于 2013-05-28T20:10:09.733 に答える