2015-04-05 80 views
0

我創建了一個php頁面,我使用include語句來加載內容,但它對輸出有不好的影響。下面是我的文件:PHP中的PHP代碼包括

的index.php:

<div class="sectionSpacer"></div> 
<?php include("newsection.php"); ?> 
<div class="sectionSpacer"></div> 

newsection.php:

<div class="sectionInner"> 
    <div id="details"> 
     <?php echo $details; ?> 
    </div> 
</div> 

$細節:

My email address is <?php echo $my_email; ?> 

的問題是,儘管DIV是被顯示,$details沒有回顯索引頁上的電子郵件地址。這怎麼解決?

+1

$ details在哪裏分配了一個值? – 2015-04-05 12:40:02

+0

$ my_email定義在哪裏? – Drakes 2015-04-05 14:23:08

+0

@Drakes它在我的index.php頁面的頂部定義 – 2015-04-05 14:25:02

回答

0

你所要做的事情無法完成,如果你明白代碼是如何執行的,你應該知道這一點。把-myemail-到

$variable = "my email is -myemail-"; 
$variable = str_replace($variable,"-myemail-",$myemail); 
echo $variable; 
+0

好的,如果回顯的$ details包含一個''聲明怎麼樣? 。這就是沒有出現 - 這怎麼可以糾正? – 2015-04-05 12:44:21

+0

嘗試轉義它,這是一個奇怪的情況。 – 2015-04-05 12:46:37

+0

看看我更新的問題!我如何逃脫? – 2015-04-05 12:47:24

2

修改烏爾newsection.PHP到以下幾點:

<?php 

$txt= <<< EOPAGE 
<div class="sectionInner"> 
<div id="details"> 
    $details 
</div> 
</div> 
EOPAGE; 

echo $txt; 
?> 

的變量的細節和my_mail聲明:

$my_email= "[email protected] com; 
    $details="My email address is". $my_email; 

我相信這將工作

1

如果您試圖回顯混合HTML/PHP字符串$details(例如來自數據庫) ,你可以重複這樣說:

echo eval(' ?>'.$details.'<?php '); 

然後你的代碼改成這樣:

<div class="sectionInner"> 
    <div id="details"> 
     <?php echo eval(' ?>'.$details.'<?php '); ?> 
    </div> 
</div> 

當然,如果你可以返工您的設置,以避免eval'ing PHP代碼,請,請這樣做。

+0

這是如何解決你的?您是否可以使用您的代碼進行嘗試並驗證它是否適合您? – Drakes 2015-04-22 05:49:18