使用不同的PHP文件创建页面的一部分

时间:2015-09-08 12:45:27

标签: php html

我正在尝试在页面顶部创建一个栏,并根据用户是否登录,有单独的消息,即您当前未登录。

当我试用它时,它会显示消息,但不显示黑匣子或应该在那里的表格。

在这里你可以看到输出的内容:

What is coming out

它的支持如何: How its supposed to look like

有没有办法让它上面的图像位于每个页面的顶部。我尝试在脚本的顶部使用include但是它不起作用。以下是产生所需输出的代码:

<html>
<head>
<link rel="stylesheet" type="text/css" href="../../css/login_bar.css">
</head>
<body>
<div id="loginBar" class="loginBar">
    <p><span style="float:left; margin-left:5px">You are not currently   logged on.</span> <?php login(); ?></p>
</div>

<?php

    function login(){
        echo "<form action=\"user_login_check.php\" method=\"get\"   style=\"float:right;margin-right:5px\">";
        echo "<input type=\"text\" name=\"username\" placeholder=\"Username\">  ";
        echo " <input type=\"text\" name=\"password\" placeholder=\"Password\"> ";
        echo "<input type=\"submit\" name=\"Submit\">";
        echo "</form>";
    }

?>
</body>
</html>

我注意到,当我将这一切都转换为php并回显所有内容时,它无效。

<?php
session_start();
echo "<link rel='stylesheet' type='text/css' href='../../css/login_bar.css' />";
echo "<div id=\"loginBar\" class=\"loginBar\">";
if(!isset($_SESSION["user"])){
    echo "<p><span style=\"float:left; margin-left:5px\">You are not currently logged on.</span> php login(); </p>";
}else{
    echo "<p><span style=\"float:left; margin-left:5px\">Welcome, ".$_SESSION['user']."</span> php login();</p>";
}
echo "</div><br>";

function login(){
    echo "<form action=\"user_login_check.php\" method=\"get\" style=\"float:right;margin-right:5px\">";
    echo "<input type=\"text\" name=\"username\" placeholder=\"Username\">  ";
    echo " <input type=\"text\" name=\"password\" placeholder=\"Password\"> ";
    echo "<input type=\"submit\" name=\"Submit\">";
    echo "</form>";
}

?>

有没有办法调用此文件并生成此栏或我是否必须在每个页面上输入代码?

EDITS

我已经将第二段中的代码更改为代码当前(不),表单已经显示(YAY)但是黑色框已经没有

3 个答案:

答案 0 :(得分:1)

当你已经在php标签中时,你正试图打开php标签 这样:

echo "<p><span style=\"float:left; margin-left:5px\">You are not currently logged on.</span> <?php login(); ?></p>";

应该是这样的

echo "<p><span style=\"float:left; margin-left:5px\">You are not currently logged on.</span>";
login(); 
echo "</p>";

为另一个:

echo "<p><span style=\"float:left; margin-left:5px\">Welcome, ".$_SESSION['user']."</span> <?php login(); ?></p>";

你做了同样的事情,所以改为:

echo "<p><span style=\"float:left; margin-left:5px\">Welcome, ".$_SESSION['user']."</span>";
login();
echo "</p>";

但我认为为登录的人显示登录表单毫无用处。

答案 1 :(得分:0)

我没有时间弄清楚你在做的错误,但我能说出正确的方法。

> <?PHP 
>      session_start();
>     if(!isset($_SEEION['user']))
>      {  ?>    <body>
>       <p>Your are currently not Logged In.</p>
>       <form>Then put the html form here...</form>
>     <?php
>      }
>     else
>     {
>       echo 'Welcome '.$_SESSION['user'].' You are logged in';
>      }    

   ?>        </body>

答案 2 :(得分:0)

我设法修复黑盒子没有显示。我不得不(在我希望它的页面中)添加到那里的CSS的链接,并在正文中有包含文件,这显示了黑盒子,这里是代码:

<?php
    require_once "./utility/login/login_check.php";
//  include "./testing/user_login/user_login.php";  Previous location
 ?>

<html>
<head>
<link rel='stylesheet' type='text/css' href='./css/login_bar.css' /> //added this part
</head>
<body>
<?php
    include "./testing/user_login/user_login.php";//New location

?>
<p><a href="./testing/testing.php">Testing</a><br><br>
<a href="./outreach/outreach.php">Outreach</a><br><br>
</body>
</html>