모바일에서 "문의하기" 페이지 관련 부탁드립니다.

모바일에서 "문의하기" 페이지 관련 부탁드립니다.

QA

모바일에서 "문의하기" 페이지 관련 부탁드립니다.

본문

안녕하세요.

홈페이지에 "문의하기" 페이지를 만들었는데

PC 버전에서는 정상적으로 작동을 하는데

모바일 버전에서는 문의하기가 안됩니다.

어떻게 하면 될까요?

완전 초보 입니다.

고수님들의 친절하고 자세한 설명 부탁드립니다.

감사합니다.

꾸벅.

 

3731643943_1666613040.4812.png

 

 

모바일에서 내용 입력 후 전송하기를 하면

다음 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(요소)이 같은지 비교해 보세요

답변 주셔서 정말 감사드립니다.

send.php 파일의 소스는 pc버전이나 모바일 버전이 모두 같습니다.
그러면 말씀하신 <form control(요소) 도 같은 것으로 알고 있는데 맞는 건가요?

그리고 추가로
PC환경에서는 pc 경로로 접속해서나 모바일 경로로 접속해서나 둘다 정상적으로 작동을 합니다.

그런데 모바일에서는 작동을 안하고 http://도매인명/m/min/send.php 에서 멈춰있습니다.
멈춰있으면서 아무것도 보이지 않고 하얀색 바탕으로요.
http://도매인명/m/min/sendok.php 이 파일로 넘어가야하는데 안넘어 갑니다.

제가 초보다 보니 <form control(요소)도 정확히 어떤 것인지 모르지만,
추가적인 답변 부탁드립니다.
정말 감사합니다.
꾸벅.

답변 주셔서 정말 감사드립니다.

말씀하신 곳에 가서 보았더니 여러개의 링크가 있어서 그 중에서
https://sir.kr/qa/295738
에 있는 내용대로 해 보았는데 에러 메세지가 뜨지를 않습니다.

FTP로 들어가서

.htaccess 파일
php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on

.htaccess 파일을
http://도매인명/
http://도매인명/m/
http://도매인명/m/min/
모든 경로에 다 넣어서 실행했는데도 에러메세지가 뜨지를 않습니다.

혹시 에러메세지 뜨게 하는 방법 중에 제가 잘못한 것이라도 있나요?

죄송합니다.
제가 너무 초보라서요.

다시한번 답변 부탁드립니다.
정말 감사합니다.
꾸벅.

모바일이나 피씨쪽에서도 같은 필드와 같와 경로로  submit을 하면 잘 될 겁니다.

device에 따라 약간의 차이는 있으나..해당 소스만을 봐서는 원인을 찾을수가 없습니다.

submit을 할경우 모바일과  피씨쪽과의 반응이 다를수 있수 있으면 어떤 라인 쪽에서 문제가 있는지는 

중간에 변수값의 결과를 보면서 찾으셔야 할 꺼 같습니다.

 

그리고 모바일에서 안된다고 하셨는데 구체적으로 어떻게 안되는지도 구체적으로 서술을 해주시면 더 좋을꺼 같습니다.  소스만 봐서는  필드가  빠저서 안내주는 거외에는 mail함수 이정도 에서 확인해보시면 될꺼 같네요.

 

답변 주셔서 정말 감사드립니다.
파일 경로에 대해 추가 말씀드리면,

send.php 파일은 PC버전과 모바일 버전 소스가 같습니다.

PC 경로는
http://도매인명/question.html
http://도매인명/pcin/send.php 과 sendok.php 파일이 있습니다.

모바일 경로는
http://도매인명/m/question.html
http://도매인명/m/min/send.php 과 sendok.php 파일이 있습니다.

그런데,
PC환경에서는 pc 경로로 접속해서나 모바일 경로로 접속해서나 둘다 정상적으로 작동을 합니다.
그런데 모바일에서는 작동을 안하고 http://도매인명/m/min/send.php 에서 멈춰있습니다.
멈춰있으면서 아무것도 보이지 않고 하얀색 바탕으로요.
http://도매인명/m/min/sendok.php 이 파일로 넘어가야하는데 안넘어 갑니다.

제가 초보다 보니 말씀하신 내용에 대한 것 맞는 건지는 모르겠지만.
추가적인 답변 부탁드립니다.
정말 감사합니다.
꾸벅.

모바일과 pc가 다른 형식으로 되어 있는지 부터 체크해 보시고 반응형이 아니면 따로 되어 있을겁니다.
의하기시에 전송이 안되는건지 전송후에 오류가 발생되어 안되는건지 확인이 필요합니다.

답변 주셔서 정말 감사드립니다.

예. 맞습니다.
pc버전과 모바일 버전이 다르게 만들었습니다.

그런데 send.php 파일은 똑같거든요.
다른 형식이라는 말씀은 어떤 것을 말씀하시는지요?
제가 초보라서요. ㅠㅠ

PC 경로는
http://도매인명/question.html
http://도매인명/pcin/send.php 과 sendok.php 파일이 있습니다.

모바일 경로는
http://도매인명/m/question.html
http://도매인명/m/min/send.php 과 sendok.php 파일이 있습니다.

그런데,
PC환경에서는 pc 경로로 접속해서나 모바일 경로로 접속해서나 둘다 정상적으로 작동을 합니다.

그런데 모바일에서는 작동을 안하고 http://도매인명/m/min/send.php 에서 멈춰있습니다.
멈춰있으면서 아무것도 보이지 않고 하얀색 바탕으로요.
http://도매인명/m/min/sendok.php 이 파일로 넘어가야하는데 안넘어 갑니다.

추가적인 답변 부탁드립니다.
정말 감사합니다.
꾸벅.

답변 주셔서 정말 감사드립니다.

말씀하신 것처럼
모바일단 send과정에 오류가 있어 반응자체를 안하는걸로 보여질 경우
제가 어떻게 하면 될까요?

정말 죄송합니다.
제가 초보이다보니 잘 이해를 못하네요. ㅠㅠ

다시한번 답변 부탁드립니다.
정말 감사합니다.
꾸벅.

답변을 작성하시기 전에 로그인 해주세요.
전체 2

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT