2016-07-01 78 views
0

这是我的登录页面,这并不验证用户登录truefalse插入任何passwordusername它的用户登陆页面重定向再次后。标头位置也不起作用。我是新来的PHP,所以我不知道这是什么问题。为什么我登录PHP页面无法正常工作

<?php 
session_start(); 
$username = $password = $userError = $passError = ''; 
if(isset($_POST['sub'])){ 
    $username = $_POST['username']; 
    $password = $_POST['password']; 
    if($username === '9155499248' && $password === 'Ben 10'){ 
     $_SESSION['login'] = true; 
     header('LOCATION:congratulation.php'); 
     die(); 
    } 

    if($username !== '9155499248') 
     $userError = 'Invalid Username'; 
    if($password !== 'Ben 10') 
     $passError = 'Invalid Password'; 
} 
echo "<!DOCTYPE html> 
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'> 
    <head> 
    <meta http-equiv='content-type' content='text/html;charset=utf-8' /> 
    <title>Login</title> 
    <link rel="stylesheet" href="css/normalize.css"> 
    <link rel="stylesheet" href="css/style.css"/> 
    <script src="js/prefixfree.min.js"></script> 
    </head> 
<body> 
    <div class="login"> 
<h1><b>Login</b></h1> 
    <form name='input' action='{$_SERVER['PHP_SELF']}' method='post'> 
    <label for='username'></label><input type='text' value='$username' id='username' name='username' /> 
    <div class='error'>$userError</div> 
    <label for='password'></label><input type='password' value='$password' id='password' name='password' /> 
    <div class='error'>$passError</div> 
    <button type="submit" class="btn btn-primary btn-block btn-large" name="submit">Let me in.</button> 
    </form> 
    </div> 
     <script src="js/index.js"></script> 

    </body> 
</html> 
+0

我想从这里出现的问题'$用户名= $密码= $ userError = $ passError =“”;' – MuthaFury

+0

你能PLZ详细介绍正如我上面提到的,我是新的php –

+1

你有双引号的问题,其中连接的问题。您需要转义html中底部的那些部分。 – Rasclatt

回答

2

你去那里

<?php 
session_start(); 
$username = ''; 
$password = ''; 
$userError = ''; 
$passError = ''; 
if(isset($_POST['submit'])){ 
    $username = $_POST['username']; $password = $_POST['password']; 
    if($username === '9155499248' && $password === 'Ben 10'){ 
    $_SESSION['login'] = true; header('LOCATION:congratulation.php'); die(); 
    } 
    if($username !== '9155499248')$userError = 'Invalid Username'; 
    if($password !== 'Ben 10')$passError = 'Invalid Password'; 
} 
echo "<!DOCTYPE html> 
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'> 
    <head> 
    <meta http-equiv='content-type' content='text/html;charset=utf-8' /> 
    <title>Login</title> 
    <link rel='stylesheet' href='css/normalize.css'> 
    <link rel='stylesheet' href='css/style.css'/> 
    <script src='js/prefixfree.min.js'></script> 
    </head> 
<body> 
    <div class='login'> 
<h1><b>Login</b></h1> 
    <form name='input' action='".$_SERVER['PHP_SELF']."' method='post'> 
    <label for='username'></label><input type='text' value='".$username."' id='username' name='username' /> 
    <div class='error'>".$userError."</div> 
    <label for='password'></label><input type='password' value='".$password."' id='password' name='password' /> 
    <div class='error'>".$passError."</div> 
    <button type='submit' class='btn btn-primary btn-block btn-large' name='submit' value='1'>Let me in.</button> 
    </form> 
    </div> 
     <script src='js/index.js'></script> 

    </body> 
</html>"; 

我已经更新了一些东西,

首先是那些报价"',你是不正确的使用它,你可以重新检查我提供了答案。

其次是以前你把它作为if(isset($_POST['sub']))这是错误的,因为你的按钮你的名字是submit而不是sub因此它将无法正常工作。此外,我在按钮添加值的value='1'满足isset条件

+0

Thnx对你的帮助很大 –