2017-05-09 22 views
0
  1. 使用任何用戶名和密碼(的index.php)
  2. 形式無二在「的login.php」
  3. 一旦登錄處理在用戶登錄時,「login.php中」將用戶定向到「friends.php」

我想要顯示的friends.php頁面上,當他/她最初登錄使用索引腳本用戶輸入的準確的用戶名如何將用戶名變量傳遞給第三個php頁面?

我嘗試使用會話和$ _POST,但沒有成功。請幫忙!

的index.php

<html> 


    <body> 
      Username: <input type = "text" name = "username"><br> 
      Password: <input type = "password" name = "pass_word"><br> 
      <input type = "submit" value = "Login"> 
     </form> 

    </body> 

</html> 

<?php 

    session_start(); 

    if (isset($_POST['login'])) { 
     $_SESSION['username'] = $_POST['username']; 
    } 

?> 

上friends.ph的login.php

​​

friends.php

<?php 

    session_start(); 

    echo $_POST['username']; 

?> 
+0

在會話中存儲用戶標識,並且不要忘記session_start,使用我存儲在會話中檢索用戶表中的用戶行並顯示用戶名 –

+0

'echo $ _SESSION ['username'] '在friends.php而不是'echo $ _POST ['username'];' – Bhaskar

+0

會建議使用'

'標籤'method =「post」' – Smit

回答

0

首先你的代碼,因爲它是給你不確定變量的錯誤,從我看到沒有POST方法的表單,也許你把這部分留下了。

這就是你需要做什麼

的index.php

<?php 
    session_start(); 

    if(isset($_SESSION['username']) && !empty($_SESSION['username'])){ 

     header("location:friends.php"); 
    } 

?> 
<html> 
    <body> 
     <form method="POST" action="login.php"> 
      Username: <input type = "text" name = "username"><br> 
      Password: <input type = "password" name = "pass_word"><br> 
      <input type = "submit" value = "Login" name="loginBtn"> 
     </form> 
    </body> 
</html> 

我也能看到你已標記mysql但你沒有任何 查詢與您的代碼所以你將不得不做你自己的查詢,只需修復你現在的錯誤 。

登錄。PHP

<?php 
session_start(); 
$errors = ""; 
$fields = array("username","pass_word"); 


if (isset($_POST['loginBtn'])) { 

    //check if fields are not empty 
    foreach ($fields as $key => $fieldname) { 

     if (!isset($_POST[$fieldname]) && empty($_POST[$fieldname])) { 

      echo "please enter username and password"; 
      $errors++; 
     } 
    } 

    if ($errors <= 0) { 
     //we have no errors 

     $password = $_POST['pass_word']; 
     $username = $_POST['username']; 

     //THE DO YOUR QUERIES WHEN THEY ARE SUCCESSFUL THEN 


     $_SESSION['username'] = $username; 

     header("location:friends.php"); 
    } 

} 
?> 

friends.php

<?php 

    session_start(); 

    if(isset($_SESSION['username']) && !empty($_SESSION['username'])){ 


     echo $_SESSION['username']; 
    }else{ 

     // THE USER WAS NOT SUPPOSE TO BE HERE DO SOMETHING ABOUT THAT 
    } 
?> 

注意:如果你要存儲在此爲密碼數據庫,你需要使用password_hash()password_verify(),並在查詢中使用預準備語句。

祝你好運。

+0

非常感謝! –

+0

我沒有這個代碼在login.php –

+0

session_start(); \t \t $ password = $ _POST ['pass_word']; $ username = $ _POST ['username']; \t $ _SESSION ['username'] = $ username; –

0

第P頁的使用做類似下面

<?php 

session_start() 

if(isset($_SESSION['username']){ 
    echo $_SESSION['username']; 
} 
else{ 
    echo 'username not set'; 
} 

?> 

我也建議你使用W3 HTML驗證這個link

0

您需要使用會話

喜歡的東西:

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

頁friends.php

<?php 
session_start(); 
var_dump($_SESSION['username']); 
?> 

>

看的文檔獲取更多的信息:http://php.net/manual/en/session.examples.basic.php

0

您可以設置會話變量,並與網頁之間的會話共享變量。

相關問題