問題タブ [superglobals]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 可能な値:PHP_OS
PHPの事前定義された定数の可能な値のリストを見つける場所はありますPHP_OS
か?この値をシステム要件のチェックに使用したいのですが、この変数でさまざまなオペレーティングシステムがどのように指定されているかを知る必要があります。
いくつかの検索を通じて、これまでに次のリストをまとめました。
- CYGWIN_NT-5.1
- ダーウィン
- FreeBSD
- HP-UX
- IRIX64
- Linux
- NetBSD
- OpenBSD
- SunOS
- Unix
- WIN32
- WINNT
- ウィンドウズ
誰かがより完全なリストを持っているか、または追加の値を知っているなら、私はそれらを聞きたいです!
php - クラス メソッド内でスーパー グローバルにアクセスすることは、PHP で悪い形式だと思いますか?
login()
内の関数の例を見てみましょうclass Account
。
現時点では、データ サニタイズやパスワード ソルティングなどの目に見えない方法に関する懸念は無視してください。に限って言えばlogin()
、これはグローバルアクセスが悪いジュジュですか?私は通常、クラス内で PHP スーパー グローバルを使用することを避けていますが、この状況で使用しない正当な理由が思いつきません。
クラス間で相互作用するグローバルでバックグラウンドで魔法が発生したくない理由は理解できますが、これらのグローバルはPHPに組み込まれており、クラスによって変更されず、このクラスでのみ使用されます。
ユーザーがログインする必要があるページの先頭で、次のようになります。
すべてのページでこれを行う代わりに、後でロジックを変更する必要がある場合があります。
そして、それを処理するためにクラスの外に関数を作成することはオプションであることは承知していますが、それはクラス内のグローバルを難読化するのと同じくらい悪いことではないでしょうか?
php - PHPで文字列をスーパーグローバルとして使用する方法
特定のタスクを簡単にすることになっている小さな抽象クラスを構築しています。
例:$ var = class :: get('id'); $ _GETにポインタIDがあるかどうかのチェックを実行し、パラメータに従って文字列または配列を返します。これは、投稿やリクエスト、さらにはmabyでも機能するはずです。
私はすべてのスーパーグローバルのための機能がある方法でそれをやっています。私は例としてgetを使用しています:
get関数は、パラメーターとしてポインターを取得し、fetchdata関数を呼び出し、ポインターと「$_GET」をパラメーターとして使用します。
fetchdataは、取得した文字列をスーパーグローバルとして盲目的に使用し、他のパラメータでそれを指すことになっています。次に、それがそこに存在するかどうかを確認し、関数を取得するために値またはfalseのいずれかを返します。これにより、呼び出し元に値/falseが返されます。
唯一の問題は、文字列が何であるかわからないときに、文字列をスーパーグローバルとして機能させることです。以前、パラメータをチェックするスイッチを使用してこれを行いました。「get」の場合は、$_GETを別の変数の値に設定しました。ただし、そのようにはしたくありません。fetchdataに触れることなく、簡単に関数を追加できるようにしたいと思います。
$ method = eval($ method)を試しましたが、機能しませんでした。($ method = "$ _GET")、何か提案はありますか?
編集:私がそれを十分に明確にしなかった場合は申し訳ありません。文字列値が「$_GET」の変数Xがありますが、Xが文字列に記述されているソースから値を取得するようにするにはどうすればよいですか?
だから単にそれは
Xの値が"$_GET"の場合、$ X = $ _GET
Xの値が「$_POST」の場合、$ X = $ _POST
Xの値はわかりませんが、スーパーグローバルからその値と同じ名前のデータを取得する必要があります。
php - $_POST の目的は何ですか?
私はそれがphpグローバル変数であることを知っていますが、よくわかりません.それは何をしますか? phpの公式サイトも読んだのですが、よくわかりませんでした。
php - PHP $ _REQUESTスーパーグローバルを安全に読み取る方法は何ですか?
潜在的なセキュリティ問題が発生しないような方法でgetパラメータを読み取ろうとしています。
私が考えていたのは、リクエストパラメータを私が期待するものと明示的に一致させてから、一致しないものにはデフォルトを設定することでした。
例えば:
これで十分ですか、それともさらに手順が必要ですか?
php - PHPでフルページのURLを取得する
PHPでページのURL全体を文字列として取得しようとしています。したがって、要求されたURLが./foo.php?arg1=test&arg2=test2
、の場合、を取得し"./foo.php?arg1=test&arg2=test2"
ます。
./foo.php
からパーツを取得し、から$_SERVER
変数を取得できることは知っています$_GET
が、一挙にそれを実行する簡単な方法があるかどうか疑問に思いました。
TIA。
php - PHPユーザーの国(ロケール)へのアクセス
ユーザーの国へのスーパーグローバル参照がありますか、それともIP to Countryルックアップのデータベースに対してIPを使用するのが最善の方法ですか?
php - PHP: 2 つのサイト間で大きな配列を転送する
PHP の 2 つのサイト間で大きな配列を転送しようとしています。私は両方の管理者です。配列はあるサイトで作成され、作成後、ユーザーを他のサイトに自動的にリダイレクトし、処理された配列を渡したいと考えています。
特定のドメインに限定されているため、SESSION スーパーグローバルを使用できません。配列が長すぎるため、GET は適していません。POST が適しているかどうか、ユーザーにボタンをクリックしてフォームを送信することを強制せずにデータを自動的に送信する方法があるかどうかはわかりません。これにはJavaScriptを使用できることは知っていますが、より堅牢なものを使用することを好みます。
私はPHPに比較的慣れていないので、これを実行する他の方法を知りたいです. ありがとう!
php - $_SERVER['SCRIPT_FILENAME'] を設定しないことは可能ですか?
みなさん、背景情報:
私のウェブサイトの構成ファイルで、.xml の内容に基づいて、mysql データベース名、ユーザー名、およびパスワードを設定しました$_SERVER['HTTP_HOST']
。古い (HTTP 1.0) リクエストや cron ジョブの場合、この変数が設定されない可能性があるため、 で$_SERVER['HTTP_HOST']
見つかった値に基づいて値を偽装するファイルを含めます$_SERVER['SCRIPT_FILENAME']
。
ただし、ローカルのログイン情報を使用して本番サイトのMySQLに接続しようとするエラーがログファイルに時々発生します(2週間に1回程度ですが、それでも発生します)。テスト環境。
$_SERVER['SCRIPT_FILENAME']
が空になる可能性はありますか?
php - PHP if-then-else ステートメントが機能しない
私の URL は、「inventory.php?sorting=1」などです。ページは正常に読み込まれますが、情報が正しく表示されません。