모바일에서 "문의하기" 페이지 관련 부탁드립니다.
본문
안녕하세요.
홈페이지에 "문의하기" 페이지를 만들었는데
PC 버전에서는 정상적으로 작동을 하는데
모바일 버전에서는 문의하기가 안됩니다.
어떻게 하면 될까요?
완전 초보 입니다.
고수님들의 친절하고 자세한 설명 부탁드립니다.
감사합니다.
꾸벅.
모바일에서 내용 입력 후 전송하기를 하면
다음 php 파일에서 멈춥니다.
파일명은 send.php 로 했습니다.
<meta charset="utf-8">
<?php
if(isset($_POST['email'])) {
$email_to = "받을 이메일 주소 입력";
$email_subject = "문의하기";
$email_subject = '=?UTF-8?B?'.base64_encode($email_subject).'?=';
function died($error) {
// your error code can go here
echo "<script> alert('문의하신 내용의 발송이 실패하였습니다.\n다시 발송해주세요.');";
echo "history.go(-1);";
echo "</script>";
die();
}
// validation expected data exists
if(!isset($_POST['first_name']) ||
!isset($_POST['email']) ||
!isset($_POST['telephone']) ||
!isset($_POST['comments'])) {
died('We are sorry, but there appears to be a problem with the form you submitted.');
}
$first_name = $_POST['first_name']; // required
$email_from = $_POST['email']; // required
$telephone = $_POST['telephone']; // required
$comments = $_POST['comments']; // required
$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email_from)) {
$error_message .= 'The Email Address you entered does not appear to be valid.<br />';
}
if(strlen($comments) < 2) {
$error_message .= 'The Comments you entered do not appear to be valid.<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "이름 : ".clean_string($first_name)."\n\n";
$email_message .= "이메일 : ".clean_string($email_from)."\n\n";
$email_message .= "연락처 : ".clean_string($telephone)."\n\n";
$email_message .= "문의사항 : ".clean_string($comments)."\n\n";
// create email headers
$headers = 'From: '.$email_from;
// 제목이 깨질경우 아래 캐릭터셋 적용
@mail($email_to, $email_subject, $email_message, $headers);
?>
<!-- include your own success html here -->
if ($conn->query($sql) === TRUE) {
echo "<script>location.href='./sendok.php</script>";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
<?php
}
?>
!-->
답변 4
PC 버전에서는 정상적으로 작동을 하는데
모바일 버전에서는 문의하기가 안됩니다.
==
두 버전의
<form control(요소)이 같은지 비교해 보세요
모바일이나 피씨쪽에서도 같은 필드와 같와 경로로 submit을 하면 잘 될 겁니다.
device에 따라 약간의 차이는 있으나..해당 소스만을 봐서는 원인을 찾을수가 없습니다.
submit을 할경우 모바일과 피씨쪽과의 반응이 다를수 있수 있으면 어떤 라인 쪽에서 문제가 있는지는
중간에 변수값의 결과를 보면서 찾으셔야 할 꺼 같습니다.
그리고 모바일에서 안된다고 하셨는데 구체적으로 어떻게 안되는지도 구체적으로 서술을 해주시면 더 좋을꺼 같습니다. 소스만 봐서는 필드가 빠저서 안내주는 거외에는 mail함수 이정도 에서 확인해보시면 될꺼 같네요.
모바일과 pc가 다른 형식으로 되어 있는지 부터 체크해 보시고 반응형이 아니면 따로 되어 있을겁니다.
의하기시에 전송이 안되는건지 전송후에 오류가 발생되어 안되는건지 확인이 필요합니다.
해당 페이지 URl을 올려 보세요
답변을 작성하시기 전에 로그인 해주세요.