【質問】PHPのjsスクリプトパス、画像パス、スタイルパスに問題があります!
論理的には、これらのよくある質問に対する答えを自分で見つける必要がありますが、読めば読むほど混乱してしまいます。私の理解が正しいかどうか見てみましょう。
私は自分で単項式プログラムを書きました。つまり、すべてのモジュールのアクションは root/index.php を経由します。 次に、モデル名、アクション名、メソッド名、パラメーター名を追加します。
index.php?model=user&action=Login&method=check
app:init(); // require_once: app.class.php
アプリ内のモデルとアクションを取得し、これらを動的に実行します。 次のようなアクション クラス メソッド:
UserLoginAction.class.php
public function check(){
//成功した場合は、ジャンプ
ここで問題が発生します。ここでジャンプを使用します。 require_once admin_index.php、admin_index.php で使用したい変数がいくつかあるため、リダイレクトの必要がなく、これより良い方法がありません。これは、オブジェクトを JSP に渡すことができる JAVA とは異なります。 $_SESSION['uservo'] を使用することもできますが、Session を介して何かを渡すことに慣れていないので、直接インクルードするだけです。しかし、ここで問題が発生します。
}
admin_index.php 内の画像、CSS ファイル、JS ファイルのパスをどのように扱うか?
もう選択肢はありません。絶対パスを使用してすべてを直接記述する必要があります。
admin_index.php
相対パスを使用する場合: $currentfolder = dirname(__FILE__); それは解決策ではありませんか? 考えてみてください。すべての画像ファイルの前には
が理解できます。 include メソッドは、インポートされたファイルのコードを現在のindex.php ファイルにコピーすることと同じです。 したがって、インポートされたファイル内のパスは、実際には、index.php が配置されているディレクトリになります。 すべての絶対パスが使用されるのは良くありません (これは最後の手段です)
dirname(__FILE__) メソッドには別の問題があります。これは、ファイルの物理パスを返すようです。 これは、すべてを他の人に知るべきだという意味ではないでしょうか?
最後のトリック: すべての物理パスを使用します。/ は、現在のパスがルート ディレクトリに対する相対パスであることを示します。index.php: いずれにしても、プログラムは最初から最後までファイル内で実行されるのと同等です。 すべてのパスは ./ で始まる必要があります。
////////////////////////////////////////// // ////////
これより良い方法があるのは誰でしょうか? どうもありがとう。
-----解決策---------
気にしない場合は、絶対パスを使用するよりも優れた $_SERVER['DOCUMENT_ROOT'] を使用できます。
実際には、さまざまな方法があります。もちろん、パスが混乱を引き起こす場合があるため、自分でケースを作成しないように include メソッドを変更するだけです。
------解決策------------------
自作フレームワークの場合、対処方法は 2 つあります。
1 つは、define('STYLE_PATH', 'xxxx'); などのグローバル変数または関数を設定することをお勧めします。サーバーを変更する場合はそのまま流用可能です。
2 番目は、base_url(); を使用して、ルート ディレクトリを基準としたindex.php ファイルのパスを取得します。 (これはプログラム内部に対してのみ相対的なものです。実際、すべての内部 URL はこれを構築する必要があります)
このようにして、入り口がどこにあっても、プログラムは間違っていません。

phpssionsStrackuserdataacrossmultiplepagerequestsusingauniqueidstoredinacookie.here'showtomanageetheemefectively:1)Startassession withsession_start()andstoredatain $ _ session.2)RegeneratesseSsessidafterloginwithsession_id(the topreventes_id)

PHPでは、次の手順を通じてセッションデータを繰り返すことができます。1。session_start()を使用してセッションを開始します。 2。$ _Sessionアレイのすべてのキー価値ペアを介してforeachループを反復します。 3.複雑なデータ構造を処理する場合、is_array()またはis_object()関数を使用し、print_r()を使用して詳細情報を出力します。 4.トラバーサルを最適化する場合、ページングを使用して、一度に大量のデータの処理を避けることができます。これにより、実際のプロジェクトでPHPセッションデータをより効率的に管理および使用するのに役立ちます。

このセッションは、サーバー側の状態管理メカニズムを介してユーザー認証を実現します。 1)セッションの作成と一意のIDの生成、2)IDはCookieを介して渡されます。3)サーバーストアとIDを介してセッションデータにアクセスします。

tostoreauser'snameInappession、starthessession withsession_start()、thensignthenameto $ _session ['username']。1)ousession_start()toinitializethessession.2)assighttheuser'snameto $ _ session ['username']

PHPSESSIONの障害の理由には、構成エラー、Cookieの問題、セッションの有効期限が含まれます。 1。構成エラー:正しいセッションをチェックして設定します。save_path。 2.Cookieの問題:Cookieが正しく設定されていることを確認してください。 3.セッションの有効期限:セッションを調整してください。GC_MAXLIFETIME値はセッション時間を延長します。

PHPでセッションの問題をデバッグする方法は次のとおりです。1。セッションが正しく開始されるかどうかを確認します。 2.セッションIDの配信を確認します。 3.セッションデータのストレージと読み取りを確認します。 4.サーバーの構成を確認します。セッションIDとデータを出力し、セッションファイルのコンテンツを表示するなど、セッション関連の問題を効果的に診断して解決できます。

session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。

PHPでのセッションライフサイクルの構成は、session.gc_maxlifetimeとsession.cookie_lifetimeを設定することで達成できます。 1)session.gc_maxlifetimeサーバー側のセッションデータのサバイバル時間を制御します。 0に設定すると、ブラウザが閉じているとCookieが期限切れになります。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ホットトピック









