2013-06-01 3 views
0

내 프로젝트 중 하나에 NicEdit WYSIWYG 편집기를 사용하고 있습니다.코드가있는 NicEdit

http://nicedit.com

문제 메신저 NicEdit 날 MySQL 데이터베이스에 대한 코드 (HTML, CSS, PHP 등)을 게시 할 수 있도록하려는 갖는. 다른 모든 것은 데이터베이스에 정상적으로 저장됩니다. 또한 NicEdit 도구 패널에서 '코드'단추를 찾을 수 없습니다. 여기

는 HTML 코드

<form action="submit" enctype="multipart/form-data" method="post" > 


    <textarea name="area1" id="area1" cols=120></textarea> 

    <button type="submit" class="btns" id="btns">Submi</button> 
</form> 

PHP 코드

$ptext = isset($_POST['area1'])?$_POST['area1']:"" 

    $mysqli->query("INSERT INTO tutorials(ptxt) VALUES ('$ptext'')") or die (mysqli_error()); 

이에 대한 모든 솔루션이 무엇입니까? 미리 감사드립니다.

답변

1

자바 스크립트로 편집기의 내용을 가져 와서 제출 단추를 통해 양식을 제출하는 대신 수동으로 서버에 ajax 요청을 보낼 수 있습니다.

var editorText = nicEditors.findEditor("area1").getContent(); 

var data = { 
    area1: editorText 
}; 

$.ajax({ 
    type: "POST", 
    url: "/API/tutorials", 
    data: data, 
    complete: function(responseRaw){ 
    } 
}); 
0

mysqli가 문자를 이스케이프 처리하려고했기 때문일 수 있습니다. 솔루션은 사용자 정의 유효성 검사 규칙을 작성하고이를 통해 텍스트를 전달하는 것입니다. 아니면 그냥 문자열을 탈출하지,하지만 그건 가난한 생각입니다.

저는 이것이 이것이 무엇인지 확신 할 수 있지만, 항상 PDO를 사용하여 mysqli로 잘 조정되지 않았습니다.

0

문자열을 쿼리하기 전에 이스케이프 처리를 시도해보십시오. MySQL 추가 주입을 위해 어쨌든 완료해야합니다.

$ptext = $mysqli->real_escape_string($ptext); 

또한 오류가 추가 견적에 의한 쿼리 구문에서 발견되었다. '$ ptext'를 '$ ptext'로 변경하면 코드가 제대로 작동합니다.

이것이 작동하지 않으면 [nicInstance] .saveContent()를 읽으십시오. 게시하기 전에 JS scipt가이를 실행하도록하십시오. 이것은 텍스트 영역을 nicEdit 필드의 실제 내용과 동기화합니다.

http://wiki.nicedit.com/w/page/521/Javascript%20API