2013-10-22 59 views
0

我有一个变量在url.php。 我想在多个其他文件中访问它。我试图在所有这些文件中包含url.php。但有一个问题。只包括从一个php文件到另一个var

<?php 
include 'url.php'; //include url.php 
echo "My id is : $myid"; 
?> 
<!DOCTYPE html> 
<html> 
<head> 

<!-- AddThis Smart Layers END --> 
</head> 
//somecontent 
<body> 

url.php有HTML代码,包括按钮,DIV等他们都会得到,当我包括url.php包括在内。

如何仅包含php变量并跳过url.php中的其他html代码。

url.php看起来是这样的:

<?php 
$myid=$_POST['myid']; 
echo "myID is : <br>"; 
echo $myid; 
?> 
<html> 
    <head> 
    <html xmlns:fb="http://ogp.me/ns/fb#"> 
    </head> 
    //some othe html stuff 
</html> 
+0

@subzero:我无法删除它。它包含我的网站的用户界面! –

+0

我真的很喜欢评论的魔力:'include'url.php'; // include url.php' – sasjaq

回答

0

你不能做到这一点。唯一的方法是删除HTML并将其包含在其他地方。呼叫包含打开文件,然后在内容上运行eval。如果它包含网站的重要UI部分,则应重新考虑您的设计模式。

0

在包含url.php之前,您可以在每个php文件中声明一个变量。
这样的:
$uservar = 1;

然后在url.php把HTML块如果语句

if($usevar != 1){
HTML-BlOCK
}

1
You can put some condition there like isset(). 
<?php 
if(isset($_POST['myid'])) 
    { 
    $myid=$_POST['myid']; 
    echo "myID is : <br>"; 
    echo $myid; 
    } 
else{ 
?> 
<html> 
    <head> 
    <html xmlns:fb="http://ogp.me/ns/fb#"> 
    </head> 
    //some othe html stuff 
</html> 
<?php } ?> 
+0

即使在这之后,如果我包含上面的代码,它将包含html。 –

+0

如果没有设置$ _POST ['myid']变量,那么它将包含html。你可以修改包含条件。你是否在每个页面中获得$ _POST ['myid']变量? – srs

1

另一种方案是,你可以在会话中保存变量,稍后您也可以在其他页面中检索该值。

url.php

<?php 
$myid=$_POST['myid']; 
session_start(); 
$_SESSION['my_id']=$myid; 
?> 

您可以使用变量这样。 useMyId.php``

<? 
session_start(); 
$var=$_SESSION['my_id']; 

echo "Here is the variable".$var; 
?> 
+0

智能答案。但是在我的页面上,有一个以session_start();'开始的正在进行的会话。任何碰撞的可能性?像session1和session2开始分开? –

+0

如果会话已经在页面上启动,则不需要添加session_start();但请确保会话必须在赋值$ _SESSION ['my_id'] = $ myid之前开始;和$ var = $ _ SESSION ['my_id']; –

+0

情况有点复杂。将具有以上内容的页面通过ajax请求加载到index.php中。 Index.php有一些代码,它使用session_start()来启动Facebook登录状态。 –