ホームページ >バックエンド開発 >PHPチュートリアル >php中出现通知: 未定義のインデックス: D:Program FilesのHTTP_RAW_POST_DATA

php中出现通知: 未定義のインデックス: D:Program FilesのHTTP_RAW_POST_DATA

WBOY
WBOYオリジナル
2016-06-23 13:42:561174ブラウズ

私はPHPで次のように書きました:

$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
実行後
PHPに次のような通知が表示されました:D:Program FilesphpEnvphpdemoshm_php01shm01.phpの未定義のインデックス:HTTP_RAW_POST_DATA 47行目

次に、always_popを追加しましたulate_raw_post_data = php.ini ファイルのコメントが削除される
; この機能を無効にするために、PHP のデフォルトの動作は
です。
; http://php.net/always-populate-raw-post-data
always_populate_raw_post_data = オン

再起動しても動作しません、アドバイスをお願いします

ディスカッションに返信 (解決策)

always_populate_raw_post_data = On

投稿モードで送信する場合、
echo $HTTP_RAW_POST_DATA;
を使用して、送信された書式設定されていない文字列を出力できます

もちろん、投稿モードで送信されない場合は未定義です

実際、これは

の代わりに file_get_contents('php://input') で実行できます

always_populate_raw_post_data = On

投稿モードで送信された場合、使用できます
echo $HTTP_RAW_POST_DATA
送信されたフォーマットされていない文字列を出力します

;もちろん、投稿モードで投稿されていない場合は未定義です


我的ソースコードメソッドは次のとおりです:
public function responseMsg()
{
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

if (!empty($postStr)){
$postObj = simplexml_load_string($HTTP_RAW_POST_DATA, 'SimpleXMLElement', LIBXML_NOCDATA);
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$keyword = trim($postObj->Content);
$time = time();
$textTpl = "

< /FromUserName>
%s
& lt;/MsgType>
<コンテンツ> 0

if($keyword == "?" || $keyword == "?")
{
$msgType = "text";
$contentStr = date("Y-m-d H:i:s",time());
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
}
}else{
echo "";
終了します。
}
}

帮我看下

public function responseMsg() {

if(! isset($GLOBALS["HTTP_RAW_POST_DATA"])) return '';

$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

public function responseMsg() {

if(! isset($GLOBALS["HTTP_RAW_POST_DATA"])) return '';

$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

私はこの方法を使って以下をテストしましたが、このように直接返されました。その後、次の番号は実現されませんでした。

直接実行すると、もちろん直接戻ります
郵送で送信された場合は

直接実行すると、もちろん直接戻ります
郵送で送信された場合のみ機能します



たぶん私はあまり上手ではありません勉強中です、ありがとう テストするときは、フォームを書く必要があります

これはWeChatインターフェースのコードです。私もこの問題を抱えています。投稿者はそれを解決しましたか?

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