0

我在右上角的标题中创建了一个登录表单,其中包含搜索栏和徽标等其他内容

当我登录其他标题内容时我有一个计划,但只有登录内容正在更改为登录内容

这是我的代码,我认为完全没有问题

PHP 代码

if(empty($_POST) === false){
$username = $_POST['input-username'];
$password = $_POST['input-password'];

    if(empty($username) === true || empty($password) ===true){
        $errors[] = 'You Need To Enter a Username And a Password';
        }
        else if(user_exists($username) === false){
        $errors[] = 'We Can\'t Find That Username';
            }

        else{
            $login = login($username, $password);

                if($login === false){
                    $errors[] = 'Your Username and Password Combination is Incorrect';
                    }
                else{
                    $_SESSION['user_id'] = $login;
                    header("Location: index.php");
                    }
            }
        print_r($errors);
}

HTML 脚本

  <form method="post" action="index.php" name="signin-form">
      <table border="1">

                <tr>
                    <td>Username</td><td><input type="text" name="input-username" id="input-username"></td>
                    <td>Password</td><td><input type="password" name="input-password" id="input-password"></td>

                    <td>
                    <input type="submit" name="sign-in" id="sign-in" value="Log in">
                    </td>
                </tr>

                <tr>
                     <td colspan="2">
                     <input type="checkbox" name="remember-me">
                     <label id="information">Keep Me Eating Picture</label>
                     </td>
                     <td colspan="2">
                     <a href="#" id="forgotpass">Forgotten My Username or Password</a>
                     </td>
                 </tr>
     </table>
 </form>

但是不知何故,在我输入用户名和密码后,情况变得很奇怪,为什么我应该在登录内容中单击两次提交按钮以重定向到登录内容?

像这样: 用户名 obink 密码 obink 并输入

第一次登录没有发生任何事情,但是用户名和密码字段为空 第二次使用用户名和密码的空白字段进行登录是将登录内容重定向到登录内容的时间

是我的代码出了问题还是什么?我曾试图重建 CSS,但没有任何反应。哦,我已经有了用户功能页面,它是存储我需要的任何功能的页面

这里或多或少是标题内容设计:

div 徽标

div 搜索框

和 div 用户登录或不这样

        if (logged_in($user_data['user_id']) === false){
        include 'login.php';
        }
    else{
        include 'logged_in.php';
        }

一切都向左浮动

和用户函数中的php

function logged_in(){
return (isset($_SESSION['user_id'])) ? true : false;
    }

在我的 source.php 页面中

    if(logged_in() === true)
{$sid = $_SESSION['user_id'];
$user_data = user_data($_SESSION['user_id'], 'user_id', 'username', 'password', 'firstname', 'lastname', 'email');
}

更新我的标题的条件 html on headers

    <div id="header">
    <div id="header-content">
<div id="logo">
<a href="index.php" style="text-decoration:none;">
          logo</a>
</div>

<div id="searchbox">
      <input type="text" placeholder="Search" size="50">
</div>

php 在标题中间

if(empty($_SESSION['user_id'])){
include 'includes/widgets/login.php';
}

else{
    include 'includes/widgets/loggedin.php';
    }

关闭 div

</div>
</div>

对不起我的英语不好

4

1 回答 1

0

试试这个代码:

<?php
session_start();
if(empty($_SESSION['user_id'])){
?>
<form method="post" action="index.php" name="signin-form">
      <table border="1">

                <tr>
                    <td>Username</td><td><input type="text" name="input-username" id="input-username"></td>
                    <td>Password</td><td><input type="password" name="input-password" id="input-password"></td>

                    <td>
                    <input type="submit" name="sign-in" id="sign-in" value="Log in">
                    </td>
                </tr>

                <tr>
                     <td colspan="2">
                     <input type="checkbox" name="remember-me">
                     <label id="information">Keep Me Eating Picture</label>
                     </td>
                     <td colspan="2">
                     <a href="#" id="forgotpass">Forgotten My Username or Password</a>
                     </td>
                 </tr>
     </table>
 </form>
<?php
} else {
 echo "Logged in! <a href='logout.php'>Logout</a>";
 //You can display the users name here; Example: echo "Hi, ".$user_data['name'];
}
?>

PHP 脚本:

<?php
if(empty($_POST) === false){
$username = $_POST['input-username'];
$password = $_POST['input-password'];

    if(empty($username) === true || empty($password) ===true){
        $errors[] = 'You Need To Enter a Username And a Password';
        }
        else if(user_exists($username) === false){
        $errors[] = 'We Can\'t Find That Username';
            }

        else{
            $login = login($username, $password);

                if($login === false){
                    $errors[] = 'Your Username and Password Combination is Incorrect';
                    }
                else{
                    $_SESSION['user_id'] = $login;
                    header("Location: index.php");
                    }
            }
        print_r($errors);
}
?>

这将解决您的登录问题

于 2013-09-06T10:14:54.400 回答