我想查看我的PHP $ _POST變量,並將"undefined"
(因爲jQuery如何發送它)更改爲""
或至少" "
,以便當電子郵件表單被提交,它不說"undefined"
價值沒有填寫(可選字段)。
謝謝!
我想查看我的PHP $ _POST變量,並將"undefined"
(因爲jQuery如何發送它)更改爲""
或至少" "
,以便當電子郵件表單被提交,它不說"undefined"
價值沒有填寫(可選字段)。
謝謝!
我建議你考慮改變你的JavaScript以更好地處理取消定義,但..
這裏是一個沒有循環的方法來做到這一點:
$_POST = unserialize(str_replace('s:9:"undefined";', 's:0:"";', serialize($_POST)));
還有更典型的使用單個循環的方法如下:
foreach($_POST as &$p) if($p=='undefined') $p = '';
注意:serialize
+ unserialize
方法很酷,因爲它不使用循環,但循環方法可能稍快,尤其是當$_POST
較大時。
在PHP中,如果在foreach循環中使用&符號,它將使用它作爲引用而不是值。更改參考將設置原始值。
<?php
$_POST['text1'] = 'undefined';
$_POST['text2'] = 'undefined';
foreach($_POST as &$var)
{
if($var == 'undefined')
$var = '';
}
print_r($_POST);
?>
<!-- Will output -->
array(
text1=>
text2=>
)
foreach ($_POST as &$var) {
if ($var === 'undefined') {
$var = '';
}
}
這是重複的。 –
@克萊格懷特:不好意思? – Hammerite
if (isset($_POST['var'])) {
// it is set
} else {
// it isnt set
}
聽起來像你應該在jQuery中修復的東西。嘗試在嘗試使用它們之前嘗試定義變量。 – animuson
我想說你應該修改你的Javascript腳本。 – deceze
爲什麼你需要改變$ _POST-變量,改變「say」(輸出)。編輯REQUEST變量不是一個好主意。 –