2016-06-14 14 views
0

私はPHPのインデックスページとログインリンクを持っています。ユーザーがサイトにログインすると、同じページ(index.php)にリダイレクトします。ログインリンクの場所では、ユーザーまたはクライアントのユーザー名を表示する必要があります。私は、このコード・ページでは、このPHPの同じページでPHPセッションを管理するには

$error = ''; 
 
     
 
     if (isset($_POST['login']) && !empty($_POST['email']) 
 
      && !empty($_POST['password'])) { 
 
\t \t \t 
 
      $email = $_POST['email']; 
 
\t \t \t $password = $_POST['password']; 
 
\t \t \t $sel_user = "select * from customer where email='$email' AND password='$password'"; 
 
\t \t \t $run_user = mysql_query($sel_user); 
 
\t \t \t $check_user = mysql_num_rows($run_user); 
 
\t \t \t if($check_user == 1){ 
 
\t \t \t $_SESSION['email']=$email; 
 
\t \t \t echo "<script>window.open('userinfo.php','_self')</script>"; 
 

 
      } 
 
\t \t else { 
 
       $error = 'Invalid username or password'; 
 
      } 
 
     }

のようなPHPのログインコードは、ログイン後に別のページにリダイレクトされていますが、私はindex.phpのと同じページにリダイレクトします。また、index.phpのログインリンクではなく、自分のアカウントやログアウトリンクなどのリンクを追加します。私は私がflipkart.comのような例のためにこれを行うことができますどのようにこの

if(!isset($_SESSION)) 
 
    { 
 
     session_start(); 
 
    } 
 
$login_session=$_SESSION['email']; 
 
if(!isset($_SESSION['email'])) 
 
{ 
 
    // not logged in 
 
    header('Location: login.php'); 
 
    exit(); 
 
}

ようなPHPのセッションページのコードを持っています。私を助けてください。

+0

あなたのクエリは非常に危険なリンクを管理のために試してみてください。あなたのSQLは注入準備ができています。 PDOを使用してください。 –

答えて

0

あなたは一つのことを行うことができます:あなたがのチェックを行う、あなたはすでにログインのために書かれているコード、すなわち、この後

$error = ''; 
 
     
 
     if (isset($_POST['login']) && !empty($_POST['email']) 
 
      && !empty($_POST['password'])) { 
 
\t \t \t 
 
      $email = $_POST['email']; 
 
\t \t \t $password = $_POST['password']; 
 
\t \t \t $sel_user = "select * from customer where email='$email' AND password='$password'"; 
 
\t \t \t $run_user = mysql_query($sel_user); 
 
\t \t \t $check_user = mysql_num_rows($run_user); 
 
\t \t \t if($check_user == 1){ 
 
\t \t \t $_SESSION['email']=$email; 
 
\t \t \t echo "<script>window.open('userinfo.php','_self')</script>"; 
 

 
      } 
 
\t \t else { 
 
       $error = 'Invalid username or password'; 
 
      } 
 
     }

ゴーセッション変数

if(!isset($_SESSION)) 
 
    { 
 
     session_start(); 
 
    } 
 
$login_session=$_SESSION['email']; 
 
if(!isset($_SESSION['email'])) 
 
{ 
 
    // not logged in 
 
    header('Location: index.php'); //change the redirect page to index.php 
 
    //now customize the menu accoringly 
 
    echo "<nav class='your-class'>"; 
 
    echo "<li>"; 
 
    echo "<ul>Login</ul>"; 
 
    //Some more menus 
 
    echo "</nav>"; 
 
    exit(); 
 
} 
 
else 
 
{ 
 
    header('Location: index.php'); //now configure the menu accordingly 
 
    //now customize the menu accoringly on login 
 
    echo "<nav class='your-class'>"; 
 
    echo "<li>"; 
 
    echo "<ul><a href="some link">My Account</a></ul>"; 
 
    //Some more menus 
 
    echo "<ul><a href="logout.php">Logout</a></ul>"; 
 
    echo "</nav>"; 
 
}

しかし、私が知っている限り、これはやや面倒です。このようなクエリを避けてください。代わりにPDOを使用してください。ありがとう。

0

この

header('location:'.$_SERVER['PHP_SELF']); 

代わりの

echo "<script>window.open('userinfo.php','_self')</script>"; 

<ul> 
     <?php if(isset($_SESSION['email'])){ ?> 
      <li><a href="logout.php" >Logout</a></li> 
     <?php }else{ ?> 
      <li><a href="index.php" >Home</a></li> 
     <?php }?> 
</ul> 
関連する問題