2017-08-31 11 views
0

私のコードはリダイレクト 機能でサイトにリダイレクトされません。正しくログインすると、モーダルログインは消えます。これはWordPressサイトではありません。これをテストページとして使用して、お客様のログインページに使用しています。ここ コードは(ロングコードを言い訳してください)です。他のサイトにリダイレクトするPHPモーダルログイン

<?php 
session_start(); 

$userinfo = array(
       'user1'=>'password1', 
       'user2'=>'password2' 
       ); 

if(isset($_GET['logout'])) { 
    $_SESSION['username'] = ''; 
    header('Location: http://www.espn.com'); 
} 

function redirect() { 
    $_SESSION['username'] = ''; 
    header('Location: http://www.mgoblue.com'); 
    exit(); 
} 

if(isset($_POST['username'])) { 
    if($userinfo[$_POST['username']] == $_POST['password']) { 
     $_SESSION['username'] = $_POST['username']; 
    }else { 
     //Invalid Login 
    } 
} 
?> 
<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Document</title> 

</head> 
<body> 
    <!-- Button to open the modal login form --> 
    <button onclick="document.getElementById('id01').style.display='block'">Login</button> 

    <!-- The Modal --> 
    <div id="id01" class="modal"> 
     <span onclick="document.getElementById('id01').style.display='none'" class="close" title="Close Modal">&times;</span> 

     <?php if((isset($_SESSION['uname']))): ?> 
      <!--<p>You are logged in as <?=$_SESSION['username']?></p>--> 
      <!--<p><a href="?logout=1">Click to site</a></p>--> 
      <?php redirect(); ?> 
     <?php else: ?> 

     <!-- Modal Content --> 
     <form name="login" class="modal-content animate" action="" method="post"> 
      <!-- No Avatar!!! --> 

      <!-- Login Info --> 
      <div class="container"> 
       <label><b>Username</b></label> 
       <input type="text" placeholder="Enter Username" name="username" required><br /><br /> 

       <label><b>Password</b></label> 
       <input type="text" placeholder="Enter Password" name="password" required><br /><br /> 
       <button type="submit">Login</button>     

      </div> 

      <div class="container" style="background-color:#f1f1f1">     
       <button type="button" onclick="document.getElementById('id01').style.display='none'" class="cancelbtn">Cancel</button> 
      </div> 
     </form> 
     <?php endif; ?> 
    </div>  
</body> 
</html> 

私はコードで何をしないのです、CSS以外の?

+0

ここにCSSコードがあります: – VDOGamer

+0

<?php if((isset($ _ SESSION ['uname']))):?>これはスペルミスですか?それは 'username'ではありませんか? – Chiperific

答えて

1

あなたのコードでは、$ _SESSION ['username']を上にして、$ _SESSION ['uname']をチェックしています。これは決して設定されておらず、あなたの問題かもしれません。

これは単なる副次的なものですが、通常はロケーションヘッダーの前にリダイレクトコードを追加します。 header( 'HTTP/1.1 302 Found'); header( 'Location:'。$ uri);

関連する問題