채택완료

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

Copy
<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개

채택된 답변
+20 포인트

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

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

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

2016-11-22 (화) 13:18:32

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

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

예:

$body_ready =addslashes($body_ready);

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

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


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

답변을 작성하려면 로그인이 필요합니다.