首頁  >  文章  >  後端開發  >  為什麼我的 PHP 腳本中缺少 $_POST 值?

為什麼我的 PHP 腳本中缺少 $_POST 值?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-28 12:18:02979瀏覽

Why are My $_POST Values Missing from My PHP Script?

php://input 中缺少PHP $_POST 值

儘管透過POST 要求接收表單數據,但某些值無法出現在PHP $_POST 數組。偵錯顯示透過 php://input 檢索的原始請求字串中存在這些值。

原因:

PHP 更改包含特定字元(空格、點、左方括號等)以符合已棄用的 register_globals。

解決方案:

  • 停用register_globals: 因為這個設定已棄用,請在php.ini 設定檔中停用它。
  • 使用解決方法函數: 利用解析原始請求字串的函數,提取並解碼值以建構新的請求字串$vars 數組包含缺失值。這是一個範例:
<code class="php">function getRealPOST() {
    $pairs = explode("&", file_get_contents("php://input"));
    $vars = array();
    foreach ($pairs as $pair) {
        $nv = explode("=", $pair);
        $name = urldecode($nv[0]);
        $value = urldecode($nv[1]);
        $vars[$name] = $value;
    }
    return $vars;
}</code>

以上是為什麼我的 PHP 腳本中缺少 $_POST 值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn