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 = '';
}
}
これは重複しています。 –
@Craig White:すみません。 – Hammerite
if (isset($_POST['var'])) {
// it is set
} else {
// it isnt set
}
代わりにjQueryで修正する必要があります。変数を使用する前に、変数を定義してみてください。 – animuson
私はあなたのJavascriptスクリプトを修正する必要がありますと言うでしょう。 – deceze
なぜ$ _POST変数を変更する必要がありますか、 "say"(出力)を変更してください。 REQUEST変数を編集するのは良い考えではありません。 –