PHP:一个PHP文件-多页

PHP:一个PHP文件-多页,php,Php,我应该制作一个名为access.PHP的PHP文件,包含11页。我必须用1个PHP文件来完成这项工作。我应该使用函数来显示每一页来完成这项工作。欢迎页面允许用户通过单选按钮选择管理员或用户。点击submit后,相应的页面将出现。现在,管理员/用户页面的功能只是为了测试目的而回显管理员页面或用户页面 理想情况下,应显示一个新页面,其中一个页面应居中显示在屏幕顶部。但是现在发生的是文本管理员页面/用户页面只是出现在欢迎屏幕的底部 这是我的密码: <?php #---Functions---

我应该制作一个名为access.PHP的PHP文件,包含11页。我必须用1个PHP文件来完成这项工作。我应该使用函数来显示每一页来完成这项工作。欢迎页面允许用户通过单选按钮选择管理员或用户。点击submit后,相应的页面将出现。现在,管理员/用户页面的功能只是为了测试目的而回显管理员页面或用户页面

理想情况下,应显示一个新页面,其中一个页面应居中显示在屏幕顶部。但是现在发生的是文本管理员页面/用户页面只是出现在欢迎屏幕的底部

这是我的密码:

<?php
#---Functions---

#**PHP Header**
#function phpHeader(){
#print <<< EOF
#<!DOCTYPE html> 
#<head> 
#</head>
# <body>
#EOF
#}

#**PHP Footer**
#function phpFooter() {
#echo "</body> </html>";
#}

#**Admin Page**
function adminPage(){
#phpHeader();

echo "<center><h1>Administrator Page</h1></center>";

#phpFooter();
}

#**User Page**
function userPage(){
#phpHeader();

echo "<center><h1>User Page</h1></center>";

#phpFooter();
}

#**Welcome Page**
function welcomePage(){
#phpHeader();

echo "<center><h1>Welcome</h1>";
echo "<br><br><br>";
echo "<h3> Select Login Type</h3>";
echo "<br><br><br>";

echo '<form name="access" action="" method="post">';
echo '<input type="radio" name="AccessLevel" value="admin" />Administrator <br />';
echo '<input type="radio" name="AccessLevel" value="user" /> User <br /><br />';
echo '<input type="submit" name="submit" value="Choose Level" />';
echo '</form></center>';

$AccessLevel = $_POST['AccessLevel'];
if (isset($_POST['submit'])) {
    if (! isset($AccessLevel)) {
    echo '<h2>Select an option </h2>';
    }
    elseif ($AccessLevel == "admin") {
    adminPage();
    }
    else {
    userPage();
    }

}
#phpFooter();
}

welcomePage();

?>

把这整个块移到你的页面顶部,就在你的开始下方,顺便说一句,你错过了;对不起,他们落在沙发后面了。找到了上个星期的分号,这是猫咪没有找到的。我马上就要试试。功能是我的一个弱点。忘记了返回,我想我不知道你可以回显一个函数lol。所以这个方法将打印一个完整的新页面?当我返回时-如果我有多行呢?就像在我的欢迎页面上一样,我是否在每一行前面加上退货?或者有没有一种方法可以一次返回几行?答:你的代码块在错误的位置。是的。这是家庭作业。我不是在寻找一个直接的答案——只是一些能让我前进的东西。当我这样说的时候,我可能听起来像一个典型的学生,但是:我的教授并没有很好地介绍PHP。我的意思是我尊重自学方法,但我相当肯定他没有解释这一点,甚至没有给出例子。弗雷德,你是说你在PHP的底部声明函数吗?不,我的意思是把整个块$AccessLevel=$\u POST['AccessLevel'];如果isset$_POST['submit']{if!isset$AccessLevel{echo'选择一个选项“;}elseif$AccessLevel==admin{echo adminPage;}否则{userPage;}如果你希望消息出现在页面顶部,请在页面顶部。我真正需要的是让欢迎页面消失,并让管理员页面或用户页面成为唯一显示的内容-就像它是一个全新的页面。好吧,这看起来不错…我就快到了。我已经基本上做到了这一点,但我希望还有一个最终的问题……当我开始添加更多的IF语句来处理来自更多页面的输入时,IFs如何避免相互碰撞?我会使用不同的表单/单选按钮/提交按钮名称吗?@Shane它们不应该相互碰撞,只要您使用的是唯一的函数名称,并且条件语句和POST变量匹配且具有唯一的名称,就像您现在使用的那样。只需遵循相同的模式,但使用唯一的名称。
<?php

function adminPage(){

    return "<center><h1>Administrator Page</h1></center>";

}

function userPage(){

    return "<center><h1>User Page</h1></center>";

}

function welcomePage(){

    return '<center><h1>Welcome</h1>
<br><br><br>
<h3> Select Login Type</h3>
<br><br><br>
<form name="access" action="" method="post">
<input type="radio" name="AccessLevel" value="admin" />Administrator <br />
<input type="radio" name="AccessLevel" value="user" /> User <br /><br />
<input type="submit" name="submit" value="Choose Level" />
</form></center>';

}


$AccessLevel = $_POST['AccessLevel'];

if(isset($_POST['submit'])){
    if(!isset($AccessLevel)){
        echo welcomePage();
    }elseif($AccessLevel=="admin"){
        echo adminPage();
        echo welcomePage(); // if you want to repeat that content at the bottom again
    }elseif($AccessLevel=="user"){
        echo userPage();
        echo welcomePage(); // if you want to repeat that content at the bottom again
    }
}else{//no form submitted

 echo welcomePage();

}

?>
$AccessLevel = $_POST['AccessLevel'];
if (isset($_POST['submit'])) {
    if (! isset($AccessLevel)) {
    echo '<h2>Select an option </h2>';
    }
    elseif ($AccessLevel == "admin") {
    echo adminPage();
return;
    }
    else {
    userPage();
return;
    }

}