問題タブ [cgi.pm]
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.
perl - Perl: CGI::header が既に呼び出されているかどうかを確認する方法は?
CGI::Carpを使用set_die_handler
して、エラー メッセージを適切に出力し たいと考えています。
Web ページでエラーが発生することは想定されていませんが、print header
既に呼び出された後のどこかでエラーが発生した場合は、ヘッダーがテキストとして出力され、ページが正しくフォーマットされない可能性が高くなります。
質問にあるように、CGI::header() が既に呼び出されているかどうかを確認したいと思います。これは、グローバル変数を使用して、関数が呼び出される可能性のあるすべての場所に設定することで実行できますが、これが内部で既に実行されていることを願っています。または、すでに STDOUT に送信されたものを解析する方法があるかもしれません。動作しないコードの例:
注:
CGI.pm の年齢に関連するコメントは受け入れられますが、すぐに却下されます :) Perl には MVC フレームワークがあることがわかりました
perl - 「多次元配列」として投稿されたデータ (配列に読み込む: PERL)
私は新しい支払い処理業者を使用していますが、そのデータシートには、情報が多次元配列として投稿されていると単純に書かれています。いくつかの変数を引用すると、次のようになります。
** そのような配列は 10 個あります
人が3つのアイテムを注文した場合、Xが[0]、[1]、[2]になることを意味する「item_count」という変数があることを発見しました
しかし、この POST されたデータを読み込んで分離する方法は何ですか。確かにある種の「foreach」ループになるでしょうが、必要な変数名は謎です
通常の変数、つまり「名前/値」のペアを取得するには、これを使用します。
ポインタはありますか?
+++++
これがこの投稿に追加する正しい方法かどうかはわかりません。システムはまだまだ勉強中です
私の質問は、このデータがSTDINなどに投稿された形式は何ですか。それ以上に、何に読み込まれるのでしょうか。"products" は単一の変数名であるため、すべてのデータは単一の "$products" 変数内にあるのでしょうか、それともすべてのデータが @products 内に含まれているのでしょうか?
apache - チャンクによる CGI.PM ファイルからの読み取り
HTML フォームから CGI (perl) スクリプトに送信されたファイルがあります。CGI.PM を介して HTML から取得されたファイルは、(RAM の代替として) ディスクにページングされることがわかっています。この場合、質問があります。ファイルをそのメモリからチャンクごとに CGI スクリプト (たとえば、配列) に読み込むことは可能ですか? 可能な限り単純なコード:
可能であれば、2 番目のサブ質問があります: 異なるチャンクを読み取ることは可能ですか?
html - 複数のサブルーチンによる perl CGI.pm の使用
私は学校のプロジェクトに取り組んでおり、ソーシャル ネット サイトを作成するための perl cgi スクリプトを書くように依頼されました。
さまざまなページに複数のサブルーチンを作成しましたが、各サブルーチンを個別に実行しようとすると問題なく動作しますが、他のサブルーチンで実行しようとすると、最初のページにリダイレクトされるだけです。
例:これは私の新しいユーザーページのコードです:
サブルーチンを「最初に」使用して同じサブルーチンを呼び出そうとし、「保存」ボタンをクリックすると、new_user を呼び出した「最初の」ページにリダイレクトされます。
どんな助けでも大歓迎です。
ありがとう
perl - 別の選択ボックスに基づいて選択ボックスにデータベースから値を入力する
データベースの値を 1 つの選択ボックス、つまり ostype から他の選択ボックス (host_name) に入力したいと考えています。host_name の値は、データベースから取り込まれる必要があります。値を入力するために更新する必要がないように、そのための ajax コードを作成しました。このコードが完全ではないことはわかっていますが、コードのこの時点で立ち往生しています。これはどのように行うことができますか?
ここにcgiコードがあります:
ロジック perl モジュール
ロジック.cgi
選択ボックスにすべての値を入力したため、perl モジュールは機能していますが、ostype の特定の値に対しては機能していません。
perl - form-file-element が空の場合、Perl で multipart/form-data を処理すると Apple デバイスで Apache-error が呼び出される
私のアプリケーションは Perl 5.14.2 で書かれています。マルチパート/フォームデータを処理します
数週間以来、このプロセスは特定の Apple デバイスの Apache レベルでタイムアウトを呼び出します。
(70007) 指定されたタイムアウトが期限切れになりました: 要求エンティティ データの読み取りエラー
timeout-error を呼び出すすべての Apple デバイスにApplewebkit/605
は共通点があります。これは主に、Mac 上の Safari ブラウザー バージョン 11 です。
フォームデータは次の方法で送信されます。
フォームデータに空のタイプ「ファイル」の要素が含まれている場合に問題が発生することがわかりました(ファイルが提供されていません)。この問題は、CGI または CGI::Simple の使用に依存しません。STDIN バッファを取得しようとしても、エラーが発生します。
回避策は、フォームデータを割り当てる前に <form> の空のファイル要素を削除して、フォームデータを削除することです。
このバグは 2018 年 4 月 11 日から知られているようです
https://bugs.webkit.org/show_bug.cgi?id=184490
そして、ここ Stackoverflow Safari 11.1 ですでに報告されているようです
: ajax/XHR form submit fails when input[type=file] is empty