2017-12-29 3 views
1

私はPHPでパネルを作成しています。それはログインスクリプトを含んでいます。それはうまく働いています、私が期待しているものです。次のステップは、ユーザー名をエコーすることです。

$_POSTと入力すると、入力したユーザー名をエコーすることができます。ですから、ようこそ:$usernameようこそ。

問題は今、私が$_POSTをエコーすることができないということです。別のページにリダイレクトするため、不可能です。私の質問は:どのように私はユーザー名をエコーすることができます。

マイログインスクリプト:

<?php 
//DATABASE CONNECTION 
session_start(); 
$host = "localhost"; 
$username = "root"; 
$password = "root"; 
$database = "test_tutorial"; 
$message = ""; 

try { 
    $connect = new PDO("mysql:host=$host; dbname=$database", $username, $password); 
    $connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

    $fname = $_POST["fname"]; 

    //LOGIN CHECK 
    if(isset($_POST["login"])) { 
     if(empty($_POST["fname"]) || empty($_POST["lname"])) { 
      echo 'All fields required'; 
     } 
     else 
     { 
      $query = "SELECT * FROM users WHERE fname = :fname AND lname = :lname"; 
      $statement = $connect->prepare($query); 
      $statement->execute( 
       array( 
        'fname'  =>  $_POST["fname"], 
        'lname'  =>  $_POST["lname"] 
       ) 
      ); 
      $count = $statement->rowCount(); 
      if($count > 0) 
      { 
       //VISITED 
       header("Refresh:0; url=veilig.php"); 
       //END 
      } 
      else 
      { 
       echo 'Wrong data'; 
      } 
     } 
    } 
} 
catch(PDOException $error) { 
    $message = $error->getMessage(); 
} 
?> 

マイ形式:

だから、
<form action="" method="post"> 
    <label>fname</label> 
    <input type="text" name="fname" class="form-control" /> 
    <br /> 
    <label>lname</label> 
    <input type="password" name="lname" class="form-control" /> 
    <br /> 
    <input type="submit" name="login" value="Login" /> 
</form> 

、誰かが別のページにリダイレクトされた場合、私はポストをエコーすることができますか?

+0

あなたは、 'GET'パラメータとしてあなたをそれを送ることができますセッションでそれを設定することができます。 – Kisaragi

+3

セッションにユーザーデータを格納し、必要な場所で使用できます。 –

+1

'header( 'Location:veilig.php');'でユーザをリダイレクトし、そのヘッダの後ろに 'exit;'を追加することもお勧めします(スクリプトの解析を止める)。 –

答えて

0

あなたはすでにsession_startを呼び出していますので、$_SESSION superglobalを使用する準備が整いました。session_startを最初に呼び出すすべてのページにわたってユーザーのデータを保持します。例えば

、ここveilig.php

<?php 

session_start(); 

echo $_SESSION['username']; 

に続いてindex.php

<?php 

session_start(); 

$_SESSION['username'] = 'Prabhjot.Singh'; 

header('Location: veilig.php'); 

後でPrabhjot.Singh