2013-05-20 2 views
2

책 (제목, 저자, 설명 등)에 대한 정보를 수락하는 웹 양식이 있습니다. CodeIgniter의 활성 레코드 db 클래스를 사용하여 정보를 삽입했으며 이 아닌이 이미 쿼리를 이스케이프 처리 했으므로 CodeIgniter 설명서에서 이미이를 수행 했으므로 (here 참조)CodeIgniter를 사용하여 양식을 이스케이프하고 표시하는 적절한 방법

여기에 문제가 있습니다. "세계의 소년 가이드"에 아포스트로피가있는 제목을 넣으면 이스케이프 처리되어 제대로 데이터베이스에 삽입됩니다. 그러나 다음과 같은 형식으로 표시하면 :

<input type="text" name="title" <?php if (isset($book)) { echo "value='" . $book->name . "' "; ?> /> 

"A Boy"만 제목으로 표시됩니다. 왜 아포스트로피가 깨져서 그것을 고치기위한 여러 가지 방법을 생각할 수 있는지 이해하지만 이런 유형의 시나리오를 처리하는 가장 적합한 방법은 무엇입니까?

항상 시간과 지식에 감사드립니다.

+1

몰라을

function escape_output($string) { $newString = str_replace('\r\n','<br/>',$string); $newString = str_replace('\n\r','<br/>',$newString); $newString = str_replace('\r','<br/>',$newString); $newString = str_replace('\n','<br/>',$newString); $newString = str_replace('\'','',$newString); return $newString; } 

통화 기능이 기능을 추가하지만, 일반적으로는 '반드시 htmlspecialchars해야 $ value, ENT_QUOTES)' –

+0

mysql에 질문에 태그를 붙인 이유는 무엇입니까? –

+0

이스케이프 구문이 다양한 데이터베이스 언어에서 다를 수 있다고 상상할 수있는 것처럼 mysql 데이터베이스에 삽입한다는 것을 알 수 있습니다. – JamieHoward

답변

0

(CI에 대해보기에서 사용자 지정 도우미 파일에

<?php echo escape_output('Your escaped string here'); ?> 
관련 문제