【发布时间】:2013-11-13 03:51:48
【问题描述】:
我试图研究为什么这没有回显,但每个结果都是人们尝试在 html 页面上使用 php,所以这就是我在这里询问的原因。
我有 3 个 php 文件、一个登录文件、一个全局配置文件和一个主题文件。 登录页面回显的登录脚本,但它连接到全局文件。全局文件连接到主题文件和 db 配置文件。主题文件是一个简单的表格。
这是我的文件
<?
include('../tools/global.php');
switch($_POST[act]){
case "setlogin":
set($login);
break;
case "refresh":
refresh();
break;
case "logout":
lout();
break;
default:
login($mes);
break;
}
function login($mes){
if (isset($_COOKIE["user"])){
$out[body]="<br />
<center>
<table width='90%' border='0' cellspacing='1' cellpadding='1' bgcolor='#BDBDBD'>
<tr bgcolor='##ff80ff'>
<td width='100%' valign='center' align='left' colspan='2' background='#BDBDBD'>
<strong>Login</strong>
</td>
</tr>
<tr bgcolor='#BDBDBD'>
<td width='100%' valign='center' align='left'><center>
<b>You are already logged in! Would you like to <a href='http://www.fivedesignguys.com/dir/panel/login.php?act=refresh&type=logout'>Logout?</a></center></td></tr>
</table>
</center><br /><br /><br /><br />";
}else{
$out[body]="
<br />
<center>
<table width='400' border='0' cellspacing='1' bgcolor='#BDBDBD' cellpadding='1'>
<form method='post'>
<tr bgcolor='$config[altcolor]'>
<td background='#BDBDBD' width='100%' valign='center' align='left' colspan='2'>
<strong>Login</strong>";
它继续,但我知道它会呼应我的第一个选项,
这是全局 php 文件
<?php
include('../theme/default.php');
include('config.php');
?>
最后是 default.php 主题文件
<table border='0'>
<tr>
<td colspan='2'>
<center>bar</center>
</td>
</tr>
<tr>
<td width='10%'>
hey<br>hey<br>
</td>
<td>
hello
<?php
echo $out[body];
?>
</td>
</tr>
</table>
你可以告诉我,我希望它回显 $out[body] 但它不想。是的,所有文件都是 PHP,但这是我卡住的地方。
【问题讨论】:
-
首先它必须是
$out["body"]然后它不是一个全局变量。它是在您的函数内部定义的变量,因此您不能像那样在外部回显它。将变量返回到主控件或使其成为全局变量 -
数组应该像 $out['body'] 而不是 $out[body]
标签: php