PHP $ _POST 변수를 살펴본 후 "undefined"
(jQuery가 보내는 방법 때문에)을 ""
또는 적어도 " "
으로 변경하여 이메일 양식 그것이 제출되면 값이 기입되지 않은 모든 곳 (선택 필드)에 "undefined"
이 표시되지 않습니다.
감사합니다.
PHP $ _POST 변수를 살펴본 후 "undefined"
(jQuery가 보내는 방법 때문에)을 ""
또는 적어도 " "
으로 변경하여 이메일 양식 그것이 제출되면 값이 기입되지 않은 모든 곳 (선택 필드)에 "undefined"
이 표시되지 않습니다.
감사합니다.
나는 여기
더 루프 그것을 할 접근하지 않는 것입니다 .. 당신은 더 나은 정의를 해제를 처리하기 위해 자바 스크립트를 변경을 고려하는 것이 좋습니다,하지만 다음과 같이 단일 루프를 사용하는보다 일반적인 접근 방법 :foreach($_POST as &$p) if($p=='undefined') $p = '';
참고 : serialize
+ unserialize
접근 방식은 루프를 사용하지 않는다는 점에서 멋지지만 루프 접근 방식은 아마도 특히 약간 더 빠릅니다 (특히 $_POST
이 큰 경우).
와우. 그것은 마음이 부는 것입니다. 나는 아직 어떻게 작동하는지 이해하지 못한다 : P 그러나 그것은 작동한다! 감사. – MadTurki
@MadTurki 당신이 좋아하는 것을 기쁘게 생각합니다! .. 우리는 단 하나의 라이너를 좋아하지 않습니다. – ghbarratt
하나의 라이너가 훌륭하지만, 모든 페이지 요청에서'serialize'와'unserialize'를 호출했을 때의 성능을 확인할 수 있습니다. 'foreach'를 사용하여 값을 반복하는 것이 더 빠를 수도 있지만 100 % 확신 할 수는 없습니다. –
PHP에서는 foreach 루프에서 & 심볼을 사용하면 값 대신 참조로 사용합니다. 참조를 변경하면 원래 값이 설정됩니다. 또한이
$_POST = unserialize(str_replace('s:9:"undefined";', 's:0:"";', serialize($_POST)));
:
<?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 변수를 편집하는 것은 좋지 않습니다. –