2017-08-18 18 views
0

在過去,當我想要在HTML中顯示文本內容(textarea - > mySQL數據庫)時,我使用nl2br在HTML中正確顯示內容。解密mySQL數據庫中的記錄後使用nl2br

現在我想在解密數據庫內容後執行此操作,但它不起作用。

$note = openssl_decrypt($note, "AES-256-CBC", "$encode_key", 0 , "$encode_key"); 
$outputNote = str_replace("\r\n", "test", "$note"); 
echo $outputNote; 

這個解決方案有什麼問題?

+0

一兩件事,是不是嚴格的「錯誤」,但無稽之談的東西新手總是這樣:把字符串變量轉化爲額外報價沒有理由。 //你到底做了什麼來證明你的'$ note'實際上包含了'\ r \ n'? – CBroe

+0

_「解密後使用nl2br ...」_ - 我看不到你在你的代碼中的任何地方使用'nl2br()'? –

+0

使用「mysqli_fetch_assoc」將$ note從mySQL數據庫中取出。 echo nl2br($ note); ....在str_replace之前嘗試(不考慮效果) – razoas

回答

0

好的。這就是完整的代碼生成音符

$sql_notes = "SELECT content FROM gn_notes WHERE userid = '$sessionID' ORDER BY tstamp DESC"; 
$result = mysqli_query($db_link, $sql_notes); 
$number=mysqli_num_rows($result); 
if($number > 0) { 
    while ($record = mysqli_fetch_assoc($result)) { 
     $date = date("d.m.Y", $record['tstamp']); 
     $time = date("H:i", $record['tstamp']); 
     $note = $record['content']; 
     /* LOOKING FOR ENCODE_KEY */ 
     $encode_key = getValue('encode_key', 'gn_user', $sessionID, $db_link); 
     $note = openssl_decrypt($note, "AES-256-CBC", "$encode_key", 0 , "$encode_key"); 
     echo nl2br($note); 
    } 
} 

那就是在網站輸出: Screenshot ouput

+0

1.不要將其他信息作爲_answer_發佈。改爲編輯你的問題。 2.如果它打印出'\ r \ n',則表示文件中沒有換行符,而是字符串'\ r \ n'。這是如何存儲在數據庫中的? –

+0

謝謝你的回答。我很抱歉張貼信息作爲答案。內容來自textarea(用戶添加)並且將被加密。在此之後,字符串將保存在mySQl數據庫中的字段類型「text」中。對不起,我的英語不好。我希望,我寫對了。 – razoas