php模式登录重定向到另一个站点

时间:2017-08-31 00:33:55

标签: php modal-dialog

我的代码不会在重定向中重定向到该网站 功能。正确登录时,模态登录只会消失。这不是WordPress网站。我们将此作为测试页面用于我们的一个客户的登录页面。这里 是代码(请原谅长代码):

<?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之外,我在代码中缺少什么?

1 个答案:

答案 0 :(得分:1)

在您的代码中,您使用$ _SESSION [&#39;用户名&#39;]在顶部,然后检查下面的$ _SESSION [&#39; uname&#39;],这是从未设置过的是你的问题。

这只是一个侧面说明,但我通常会在位置标题之前添加重定向代码,如下所示: 标题(&#39; HTTP / 1.1 302 Found&#39;); 标题(&#39;位置:&#39;。$ uri);