我有一個include語句,它向單個已發現記錄中的單個列內容的瀏覽器返回一個echo。Javascript中的新行,因爲PHP的包含和MySQL查詢的回聲
它在記錄的開始處返回換行符。這是分成兩行的echo語句的一部分。
這是JavaScript語句:
var listname = '<?php include("test.php");?>';
test.php的版本1:
mysql_query("SET character_set_results=utf8", $con);
$listref = $_GET["list"];
if(isset($listref)){
$result = mysql_query("SELECT `Description` FROM `lists_management_index` WHERE `LL_ID` = '$listref'");
$row = mysql_fetch_array($result);
echo "here we are";
}
生成:
var listname = '
here we are';
test.php的版本2:
生成:
var listname = 'here we are';
什麼是導致換行符,我該如何擺脫它?
謝謝。
PS:全test.php的版本1:
<?php
session_start();
$_SESSION['views']=1;
?>
<?php
include('../cons.php');
$db='lists';
include('../condb.php');
mysql_query("SET character_set_results=utf8", $con);
$listref = $_GET["list"];
if(isset($listref)){
$result = mysql_query("SELECT `Description` FROM `lists_management_index` WHERE `LL_ID` = '$listref'");
$row = mysql_fetch_array($result);
echo $row['Description'];
}
include('../consc.php');
?>
PS - test.php版本1最初有「echo $ row ['Description'];」我現在回聲「我們在這裏」;但爲了測試沒有與記錄內容本身相關聯的新行字符,我將其替換。 – user824232
test.php版本2的源代碼是什麼? –
要非常小心地將DB結果回顯到JS中。就像使用SQL一樣,導致JS注入漏洞非常容易。在最低限度,你會得到'var listname = <?php echo json_encode_ $ row ['Description']?>;'以確保你生成的語法正確的JS代碼。 –