0

このコードを使用して、php セッション変数を取得しています。

session_start();
$username = $_SESSION['username1'];
$password = $_SESSION['password1'];
echo $username;

実行すると、次のエラーが発生します。

警告: session_start() [function.session-start]: セッション Cookie を送信できません – /home の (/home/practice/public_html/wp-content/themes/twentytwelve/header.php:13 で開始された出力) によって既に送信されたヘッダー/practice/public_html/wp-content/plugins/php-execution-plugin/includes/class.php_execution.php(273) : 2 行目の eval() されたコード

を削除するsession_start()と、エラーは発生しません。

ただし、どちらの場合も、セッション変数は取得されず、コマンドecho $username; は何も表示しません。

4

3 に答える 3

1

の前のページに何かが出力されていますsession_start();。/ステートメントまたは HTMLのsession_start();前に があることを確認してください。echoprint

スクリプトは の 13 行目に何かを出力していheader.phpます。session_start();スクリプトの最初の行でない場合は、その前に置きます。

セッションを削除するsession_start();と、取得は試行されず、(エラーの原因となった) 問題は解消されます。PHP は、出力しようとしている変数が存在しないことを気にしません。これがまさに PHP のやり方です (ただし、 が生成されますNotice)。

于 2013-01-27T08:11:26.130 に答える
0

エラーメッセージは、session_start 呼び出しの前に何かを出力したことをすでに示しています。

output started at /home/practice/public_html/wp-content/themes/twentytwelve/header.php:13

出力は、13 行目の header.php ファイルにあります。

クライアントへの出力が送信される前に、セッションを開始する必要があります。

于 2013-01-27T08:12:58.463 に答える
0

ワードプレスのインストール内でセッションを使用しません。「出力なし」に頼るにはコードが汚れすぎています。

資格情報と認証方法としてワードプレスのユーザーテーブルを使用できませんか?

于 2013-01-27T08:19:17.240 に答える