DB로 태그를 전송하려하는데 도와주세요
본문
<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 라는 함수를 이용해보심 어떨까 싶습니다.
답변을 작성하시기 전에 로그인 해주세요.