開発環境で警告を隠そうとしないでください。警告はバグを探すのに非常に役立ちます。たとえば、この特定の警告がないと、セッション関連のヘッダーが実際に送信されなかった理由(つまり、セッションが機能しない理由)がわからない可能性があります。
代わりに表示される警告の理由を削除してください。この特定の警告は、おそらく、信頼できる<?php
コード区切り文字の前を這う不正な空白が原因です。つまり、サーバーはすでにクライアントに何かを出力し始めていますが、ヘッダーの送信に戻ってもらいたいということです...
したがって、ファイルをチェックして、呼び出される前に何もエコーされていないことを確認してください。この議論はおそらく非常に役立つでしょう。)。session_start()
アップデート:
実際、質問で引用したコードには、非常に明確に示されています。
<?php
session_start();
include("connect/config1.php");
?>
ここで<?php
は、前に空白があります。つまり、サーバーは実際にこれらのシンボルを(HTTP応答本文で)送信し、その後、スクリプト自体の解析を開始します。しかし、その後、ヘッダーを送信するように指示されます-そして、この警告でファウルを叫びます。
解決策は簡単です。空白を削除します。このようにして、警告が消えるだけでなく、セッションも機能し始めます。)。