-1

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

セッション ベースのヒット カウンターを作成しようとしています。そして、私のコードは機能していないようです。いつでも、ページをリロードします。出力は「ページを 0 回閲覧しました」です。

    <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
 <?php
session_start();

if(!isset($_SESSION['count']))
    $_SESSION['count'] = 0;
else
    $_SESSION['count']++;

 echo "You Have Viewed this page ", $_SESSION['count'], " times.";  

 echo session_id(); ?>
</body>
</html>

いつ、このコードをローカルホストで実行します。コードは単に機能しません。そして、Webサーバー(hostgator)で実行すると、次のエラーが発生します。

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/rohitink/public_html/uiet.org/s4/index.php:8) in /home/rohitink/public_html/uiet.org/s4/index.php on line 9

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/rohitink/public_html/uiet.org/s4/index.php:8) in /home/rohitink/public_html/uiet.org/s4/index.php on line 9
You Have Viewed this page 0 times.788141cfa1329643918f87f5f6c9eb5a

このエラーを修正する方法の詳細を教えてください。どうもありがとうございました。

4

2 に答える 2

1

session_start()そのページの上部に配置する必要があります。

<?php session_start(); ?>
<html>
....

その理由はsession_start()、クライアントに Cookie を設定するためです。Cookie は、まだ出力がない場合にのみ設定できます。

于 2012-09-23T06:31:49.490 に答える
1

スペースが原因で警告が発生した場合でも、ページの最初の行でセッションを開始する必要があります

ここに画像の説明を入力

ヘッダーが既に送信されている場合は、このヘッダーが既に PHP によって送信されていることを確認してください。

于 2012-09-23T06:32:17.400 に答える