DB로 태그를 전송하려하는데 도와주세요

DB로 태그를 전송하려하는데 도와주세요

QA

DB로 태그를 전송하려하는데 도와주세요

답변 3

본문


<php
  header("Content-Type:text/html;charset=UTF-8");
?>
<?php
 $connect = mysqli_connect("localhost","계정","비번","DB이름");
 
 $body_ready = $_POST["body"]; 
 $body = "<iframe width='100%' height='300px' src='//www.youtube.com/embed/$body_ready' frameborder='0' allowfullscreen></iframe><br><button type='button' class='btn btn-complete btn-cons btn-animated from-top fa fa-arrow-down' onclick='location.href=http://도메인/player/download/yt/getvideo.mp4?videoid=$body_ready'><span>다운로드</span></button>";
 
 $sql="insert into json_player values('$group', '$id', '$subject', '$to', '$body', '$time', '$datetime', '$from', '$dp', '$dpRetina', '$color')";
 $result = mysqli_query($connect, $sql);
 echo("
  <html>
    <head>
      <script name=javascript>
        location.href='./upload_form.php';
        self.window.alert('등록완료');
      </script>
    </head>
  </html>
 ");
?>

 

 

 

 

위코드인데 폼으로 입력받은 값을 body_ready 라는 변수에 담아

 

body_ready의 값을 태그 안에 담고 그 전체 태그를 body 라는 값에 담아 DB로 전송하려 합니다.

 

근데 이상하게 전송이 안되고 있네요 태그를 빼면 전송이 되는데 어디가 문제인지 모르겠습니다.

 

고수분들 도움 부탁드립니다.

이 질문에 댓글 쓰기 :

답변 3

$body_ready 변수 연결 부분을 {$body_ready}를 감싸서 해주시고

 

쿼리 부분에 ' 부분이 겹쳐서 오류가 나는 부분이 있으니 치환해서 처리해 주셔야 할겁니다.

 

$body 테그에 ' 부분을 \" 이렇게 치환해서 등록하시거나 해서 처리해 주셔야 할겁니다.

 $sql="insert into json_player values('$group', '$id', '$subject', '$to', '$body', '$time', '$datetime', '$from', '$dp', '$dpRetina', '$color')";


echo 로 $sql 변수 찍어보면 $body 부분에서 따옴표가 2번 들어가서 쿼리가 정상실행되지 않을것같네요 '{$body}' 로 해보심 어떨지 .. 테스트는 해보진않았습니다.

 

sql저장할때는 \부분을 한번 추가해야합니다.

$body_ready 라는 값경우 안의 내용중에 / < 등등 있으시죠?

예:

$body_ready =addslashes($body_ready);

 

같이 addslashes 라는 함수를 이용해보심 어떨까 싶습니다. 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 124,043
© SIRSOFT
현재 페이지 제일 처음으로