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

Mary-Kate Olsen
發布: 2024-10-28 12:18:02
原創
978 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!