2015-04-05 84 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