2015-09-08 14 views
0

我想在頁面的頂部創建一個欄,並根據用戶是否登錄,有單獨的消息,即您目前尚未登錄。使用不同的PHP文件來創建頁面的一部分

當我試用它時,它顯示消息,但不顯示黑框或應該在那裏的窗體。

在這裏你可以看到正在輸出的內容:

What is coming out

,以及各suppost的樣子: How its supposed to look like

有沒有辦法讓這個上面的圖片是在每頁的頂部。我嘗試使用包含在腳本的頂部,但它不起作用。這裏是產生這個所需的輸出代碼:

<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>"; 
} 

?> 

有沒有辦法來調用這個文件,這條生產還是我將不得不輸入每一頁上的代碼?

編輯

我已經改變了碼在第二區間的代碼是什麼當前(無),形式已經出現了(YAY),但有surronding黑盒不

+0

[閱讀第一個音符](http://php.net/session_start):如果您使用多個PHP文件,在調用'session_start'之前確保絕對沒有**輸出是很重要的,甚至在打開< ?php'標記 –

+0

我不相信有任何空格,我有形式部分工作它的第二張圖片是不顯示的黑盒子 – MrHappySandwich

回答

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>"; 

但我認爲這是沒用的,以示對人誰是登錄的登錄表單。

+0

謝謝,這使得窗體部分顯示出來(它的工作進展,所以我將在未來將形式更改爲註銷按鈕)。然而,它並沒有使酒吧變黑。我是如何引用CSS的嗎? – MrHappySandwich

+0

@MrHappySandwich向你展示css文件和文件夾結構編輯你的問題 – jmattheis

+0

css沒有什麼問題,它只是一小部分代碼讓黑盒子變黑。當我直接訪問php文件時,它正是我想要的,但是當我從另一個文件調用它時,它不顯示框的顏色,即像第一張圖片。 – MrHappySandwich

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> 
+0

嗯,我希望能夠包含這個文件,以便任何調用php文件的頁面都會在頂部有黑盒子。我的大部分工作都在工作,但是當從另一個文件調用它時,沒有黑盒子,只是消息和表單。 – MrHappySandwich

+0

你有沒有在調用腳本的文件中包含css文件.. – Meeshal

+0

,如果你正在建立一個大網站,你可以使用MVC模型.. – Meeshal

0

<?php標籤已經打開,你不需要調用login()功能時再重新打開它。

使用下面的行

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

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

我已經做了,形式部分現在正在顯示,但是黑盒子沒有出現 – MrHappySandwich

+0

我編輯了答案,忘記刪除\ – Alaeddine

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> 
相關問題