ホームページ バックエンド開発 PHPチュートリアル $_SESSION を使用すると php でエラーが発生するのはなぜですか?ソリューションのアイデア

$_SESSION を使用すると php でエラーが発生するのはなぜですか?ソリューションのアイデア

Jun 13, 2016 pm 01:33 PM
cookie nbsp php quot session

$_SESSION を使用すると php でエラーが発生するのはなぜですか?
//session1.php:
//session1.php
session_start();
echo "ようこそ: 最初のページ
";
$_SESSION [ 'myword']="私は張三です";
$_SESSION["myage"]="18";
$_SESSION["mysex"]="男性";
echo "クッキーmyword の値は: ".$_SESSION['myword']."
";
echo "次のページ";
?>

//session2 .php
//session2.php
session_start();
echo "ようこそ: ページ 2
";
echo "名前:".$_SESSION[ ' myword']."
";
echo "年齢:".$_SESSION["myage"]."
";
echo "性別:".$_SESSION["mysex"] 。 "
";
echo "次のページ";
?>
session1.php を開いて
を出力します---------- -- ------------------------
ようこそ: 最初のページ
クッキー内の myword の値は次のとおりです: 私は Zhang San です
次のページ
----------------------------------------

「次のページ」をクリックして session2.php の出力を開きます

--------------------------------- - -
ようこそ: 2 ページ目

注意: 未定義のインデックス: R の myword:Program FilesAppServwwwsessionsession2.php の 5 行目
名前:

注意: 未定義のインデックス: R の myage :Program FilesAppServwwwsessionsession2.php 6 行目
年齢:

通知: 未定義のインデックス: R の mysex:Program FilesAppServwwwsessionsession2.php 7 行目
性別:
次のページ
- - ----------------------------------
設定の問題でしょうか? 私のphp.iniのセッション構成は次のとおりです:

session.save_handler = files

session.save_path = "R:/Program Files/AppServ/php5/session_tmp"

; session.save_path = "N;MODE;/path"

session.save_path = "R:/Program Files/AppServ/php5/session_tmp"

(セッションは 3 つあります。 save_path)

session.cookie_domain = Cookies

(その他は一つ一つ記載していません)

------解決策------ ---------------
session.cookie_domain =
これをこれに変更するか、コメントアウトして、サーバーを再起動します
この状況は、Cookie PHPSESSID が読み取られていないことが原因であると思われます。print_r($_COOKIE) を使用して、存在するかどうかを確認できます。 PHPSESSIDです
------解決策---------
1 階を参照、セッションを台無しにしないでください.cookie_domain 設定、バインドされたドメイン名をローカルでテストして何を行うか。
------解決策------------------
セッションの問題の概要を送信します:

PHP のセッション関数については、適切な答えを見つけることができませんでした。特に、いくつかのエラーといくつかのエラーのない結果が最も恐ろしいのは後者であり、多くの初心者にとって常に当惑させられてきました。ベテランでも時々混乱する人もいます。この記事では、みんなの参考のためにこれらの問題を簡単にまとめます。

1.
エラー メッセージ
警告: セッション Cookie を送信できません - ヘッダーはすでに送信されました
警告: セッション キャッシュ リミッターを送信できません - ヘッダーはすでに送信されました
分析と解決策
この種の問題が発生する理由は、プログラム内で session_start() を使用するときに、実際の HTML コンテンツが以前に出力されていることです。おそらく、私はそれを持っていないので、メッセージをエコーするか印刷するだけだと言うかもしれません。申し訳ありませんが、echo または print ステートメントによって生成される出力は、実際の HTML コンテンツ出力です。この種の問題を解決する方法は、session_start() をプログラムの最初の行に移動することです。

2.
エラー メッセージ
警告: open(F:/689phpsessiondatasess_66a39376b873f4daecf239891edc98b5, O_RDWR) が失敗しました
分析と解決策
このようなエラー ステートメントは通常、php によって発生します。 ini の .save_path 項目が正しく設定されていません。解決するには、session.save_path と session.cookie_path を
session_save_path = c: emp
session.cookie_path = c: emp
に設定してから、一時ディレクトリを作成します。

3.
エラー プロンプト
警告:
分析と解決策で初期化されていないセッションを破棄しようとしています。
このようなプロンプトは、通常、ユーザーが直接引き起こしたものです。 session_destroy() 関数を呼び出します。多くの友人は、session_destroy() 関数が独立して実行できると考えていますが、そうではありません。解決策は、session_destroy() 関数を呼び出す前に session_start() を使用してセッション関数を有効にすることです。

4. 質問: 現在のセッションの ID 値を取得するにはどうすればよいですか?
最も簡単な方法は次のとおりです:
SID をエコーする
それがわかります。

5. 質問: ヘッダー関数を呼び出す前にプログラムに出力がありません。config.php ファイルに出力が存在しないのはなぜですか?質問 1 と同じエラーが報告されます。ヘッダー
の前に session_start() を使用したためでしょうか?回答: PHP プログラムを注意深くチェックしたのかもしれませんが、header() を参照する前に出力がなく、インクルード ファイルにも出力がありません。しかし、カーソルキーを使用して、 ?> PHP コードの end ステートメントの後にチェックを移動しますか? ?> の後に空白行またはいくつかのスペースがあることがわかります。これらの空白行またはスペースを削除すると、問題は解決します。​

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles