2014-05-20 3 views
1

테이블에서 값을 읽고 사용자가 업데이트 할 수있는 형식으로 표시하고 있습니다. 문제는 업데이트 할 때마다 테이블의 각 값에 공백이 추가된다는 것입니다. 나는 형태로 값을 표시 할 때PHP는 레코드를 업데이트 할 때마다 공백을 추가합니다.

function ReadHTML($str) { 
    return htmlspecialchars(stripslashes($str), ENT_QUOTES); 
} 

$query = "SELECT * FROM " . $table_name . " WHERE id = " . $row_id; 

$result = mysqli_query ($connection, $query) or die ("Database query failed: " . mysqli_error($connection)); 

$row = mysqli_fetch_assoc($result); 

$q1 = ReadHTML($row['q1']); 

이 잘 보이는 :

여기에 기본 코드입니다. 그러나 공간을 추가 할 값을 업데이트 할 때입니다.

function mysqli_prep(&$connection, $value) { 
    $detagged = strip_tags($value); 
    $escaped = mysqli_real_escape_string($connection, $detagged); 
    return $escaped; 
} 

$q1 = mysqli_prep($connection, $_POST['q1']) 

$query = "UPDATE my_form SET 
     q1='$q1'"; 

사람이 내가 잘못 뭘하는지 볼 수 : 나는 업데이트를 처리 할 때

그것은 다음과 같이 보입니다?


HTML은 다음과 같습니다

<textarea class="textarea form_textarea_field" name="comment_1" placeholder="Comments"> 
       " Test text " 
      </textarea> 

하지만 추가 결코 그 따옴표 또는 공백 그들은 : 내 브라우저에서 DOM을 볼 때 그것은 다음과 같습니다

<textarea class="textarea form_textarea_field" name="comment_1" placeholder="Comments"> 
       <?php if($saved_form == true) {echo $q1;} ?> 
      </textarea> 

디스플레이에 나타나지 않습니다. 그게 정상인지 또는 무엇이 잘못되었는지에 대한 단서인지는 확실하지 않습니다.

+1

어떻게 html을 구축하고 있습니까? – jeroen

+0

HTML을 생성하는 PHP를 보여주십시오. 거기에있을 가능성이 높습니다. – Popnoodles

답변

3

공백을 추가하지 않으려면 html을 작성할 때 텍스트 영역에 텍스트가 없는지 확인해야합니다.

따라서 변경 :

<textarea class="textarea form_textarea_field" type="textarea" name="comment_1" placeholder="Comments"> 
      <?php if($saved_form == true) {echo $q1;} ?> 
     </textarea> 

에 : 개구부 및 textarea의 종료 태그 사이의 모든 콘텐츠의 일부임을

<textarea class="textarea form_textarea_field" type="textarea" name="comment_1" placeholder="Comments"><?php if($saved_form == true) {echo $q1;} ?></textarea> 

주 (등 새로운 라인 공백 포함).

+0

예, 열어 본 후 코드를 들여 쓰지 마십시오. '' –

+0

초보자 실수입니다. 너네 너무 고마워! – Mike

관련 문제