저는 PHP와 유사하며 문제가 어디에 있는지 이해하지 못합니다.
때때로 PHP 함수가 나에게
와 같은 빈 메시지를 보냅니다.부모님 이름
너무 늦었어요:
린:
전화번호:
이메일:
생년월일:
메시지 텍스트:
하지만 다음과 같은 값으로 채워져야 합니다
부모 이름 테스트
실수가 너무 많습니다: 테스트
린: 테스트
전화번호: Test
이메일: test@test
생년월일: 21313
메시지 텍스트: Testing
이것은 내 PHP 코드입니다
으아악무엇이 잘못되었는지 조언 부탁드립니다.
스크립트가 단지 양식 처리기인 경우, 예를 들어 양식 제출에 대한 응답이 아닌 이상 스크립트가 실행되지 않도록 상단에
if(empty($_POST)) { die('没有表单数据!'); }
를 추가할 수 있습니다.모든 항목을 입력해야 하는 경우 이메일을 처리하기 전에 각 항목을 확인해야 합니다. 이
으아아아isset
塞进一个巨大的if(isset(...)
를 모두 문에 넣을 수 있습니다. 그러나 이 작업을 수행하는 더 간단하고 읽기 쉬운 방법이 있습니다. 먼저 몇 가지 변수를 설정해 보겠습니다.그런 다음 필드를 반복하고 값이 존재하면 이를
으아아아$data
에 추가하고, 그렇지 않으면 오류 주석을 추가합니다.오류(=입력 항목 누락)가 있는 경우 이메일이 전송되지 않습니다. 보너스로 이제 기본 작업 도우미 기능을 위해 수정만 하면 되는 재사용 가능한 코드 조각이 생겼습니다. )
여기서는$fields
数组即可将其用于具有类似功能的其他表单。 (如果您确实需要重用它,则将其包装到函数中是一个好主意;不要复制粘贴代码。function x($post, $fields) { ... }
isset
대신empty
를 사용한다는 점에 유의하세요. 빈 양식을 제출하면
"0"이 예상되고 허용되는 값인 경우 "공허함"에 유의하시기 바랍니다!empty
代替isset
。如果提交空白表单,则会设置字段(为空字符串""
)。另请注意,empty
返回true
对于任何等于false
的内容(即""
、0
、false
、null,[]
)。 (如果“0”是预期且可接受的值,请注意它的“空性”!)另一方面,isset
对于任何非null
필드가 설정됩니다(빈 문자열""
). 또한empty
는 false와 동일한 경우 >true(예:""
,0
,false
,null
,[]
). () 반면
🎜추신: 위 코드가 완전한 코드이고 스크립트가 양식 데이터 및 리디렉션만 처리하는 경우에는 HTML 래퍼가 전혀 필요하지 않습니다. 결코 표시되지 않습니다. 🎜isset
null
이 아닌 모든 콘텐츠에 대해 true를 반환합니다.