2011-04-20 83 views
6

這是一個簡單的問題,我相信,但還不知道。 我有一個文本區域,經過提交進入到數據庫,然後我贊同頁面上的這段文字,但現在的問題是,說人在textarea的寫道:從數據庫中斷線回顯數據庫中的回顯

羅伯特嗨,
這是隻是一個測試!
Jason。

和消息轉到數據庫就是這樣,但是當我呼應的是,我得到:

嗨羅伯特,這只是一個測試! Jason。

這是形式:

<textarea name="newMessage" wrap="hard" cols="30" rows="3"></textarea> 

<input type="submit" name="submit" value="Ingresar"> </> 

這是我用它來顯示文本代碼:

<?php 
    while($row = mysql_fetch_assoc($messages)){ 
     echo $row['mensaje']."<br/>"; 
    } 
?> 

這是我使用插入代碼:

if(isset($_POST['submit'])){   

      $check4LB = $_POST['newMessage']; 
      while($letter = mysql_fetch_assoc($check4LB)){ 
       if($letter=' '){ 
       $letter='<br/>'; 
       } 
      } /////I know this is not write bu is the idea i thgouht at least 

      $query = mysql_query("SELECT (ifnull(max(idRegistro),0) + 1) as id FROM messages"); 
      $row = mysql_fetch_array($query); 
      $idMax = $row['id'];  
      $insertMessage = "INSERT INTO messages(idRegistro, mensaje) VALUES ('".$idMax."','".$letter."')"; 

      mysql_query($insertMessage) or die(mysql_error()); 
      echo "<meta http-equiv=Refresh content=\"0 ; url=".$_SERVER['PHP_SELF']."\">"; 
    } 
+1

用戶nl2br同時插入$信即nl2br($信) – 2011-04-20 02:17:36

+0

@JapanPro這是更好地保存數據是,只有當你要顯示它格式化。 – ariefbayu 2011-04-20 02:32:56

回答

12

嘗試echo nl2br($row['mensaje']);

+0

謝謝,那有效! – Gmo 2011-04-20 02:39:28

+0

Dear Sabeen Malik 謝謝 – 2016-08-11 12:06:11

+0

這裏nl2br($ row ['stackoverflow_comment_text']);不起作用 – 2016-08-11 12:07:06

0

對數據庫的輸出使用nl2br()

0

試試這個

<?php 
    while($row = mysql_fetch_assoc($messages)){ 
    echo str_replace("\r",'<br/>',$row['mensaje']); 
    } 
?> 
+0

有3種換行符:mac上的'\ r',linux/unix,'\ r \ n'窗口中的'\ n'。所以,最好使用處理差異的'nl2br()'。 – ariefbayu 2011-04-20 02:34:31