안녕하세요 관리자님~
form으로 action post 하여
update 함수 활용하여 케이보드 내용 content 수정하려고 합니다~
다른 부분 모두 문제없이 잘되는데요~
<div class="txt">
<textarea name="mod_content" id="content_txt" cols="10" rows="21"><?php echo nl2br($content->content)?></textarea>
</div>
$wpdb->update( $wpdb->prefix.'kboard_board_content',
array(
'title' => $title,
'content' => $content
),
array( 'uid' => $uid )
);
업데이트는 잘되나 data에서 content를 불러올때 줄바꿈이 적용되지않습니다.
nl2br함수를 이용하여도 안되는데 어떤 방법이있을까요?
안녕하세요~^^
올려주신 코드만으로는 원인을 파악하기 어렵습니다.
업데이트 시 $content 변수에 값은 어떻게 받아오고 있는지 알려주시겠어요?
추가로, KBContent 클래스의 updateContent 메소드를 활용해서도
게시글 데이터를 수정하실 수 있습니다.
KBContent 클래스는
FTP로 접속해서 /wp-content/plugins/kboard/class/KBContent.class.php 파일에서 확인해보실 수 있습니다.
고맙습니다.
$uid = isset($_POST['uid'])&&$_POST['uid'] ? sanitize_text_field($_POST['uid']) : '';
$title = isset($_POST['mod_title'])&&$_POST['mod_title'] ? sanitize_text_field($_POST['mod_title']) : '';
$content = isset($_POST['mod_content'])&&$_POST['mod_content'] ? sanitize_text_field($_POST['mod_content']) : '';
method post로 form통해서 얻어오며 위와 같이 해두었습니다
어떻게 하면 좋을까요
if(isset($_POST['uid'])){
$uid = isset($_POST['uid'])&&$_POST['uid'] ? sanitize_text_field($_POST['uid']) : '';
$title = isset($_POST['mod_title'])&&$_POST['mod_title'] ? sanitize_text_field($_POST['mod_title']) : '';
$content = isset($_POST['mod_content'])&&$_POST['mod_content'] ? sanitize_text_field($_POST['mod_content']) : '';
$kbcontent = new KBContent();
$kbcontent->initWithUID($uid);
$kbcontent->title = $title;
$kbcontent->content = $content;
$kbcontent->updateContent();
}
이런식으로 해보긴 했습니다만
똑같이 줄바꿈이 안되네요 ..
본문 내용에 sanitize_text_field 함수를 적용하면
개행 문자가 지워질 수 있습니다.
올려주신 코드 중 아래의 코드를
$content = isset($_POST['mod_content'])&&$_POST['mod_content'] ? sanitize_text_field($_POST['mod_content']) : '';
아래의 코드로 교체해서 확인해보시겠어요?
$content = isset($_POST['mod_content'])&&$_POST['mod_content'] ? $_POST['mod_content'] : '';
고맙습니다.
답변 감사합니다 :)