2017-04-14 69 views
1

PHP代码:如何显示PHP变量HTML

<?php 

// Initialize wrong name-pass check variable 
$isWrongUserPass = false; 

if(!isset($_SESSION['signedIn'])) { 
    $_SESSION['signedIn'] = false; 
} 

// If the user clicked "sign out", 
if(isset($_GET['signout'])) { 
    $_SESSION['signedIn'] = false; 

    // Change the location to where you want to redirect the user after signing out 
    header("Location: login.php"); 
} 

// If the user submitted a name 
if (sha1($_POST['username']) == $username && sha1($_POST['password']) == $password){ 
    $_SESSION['signedIn'] = true; 
}else{ 
    $isWrongUserPass = true; 
} 

if(!$_SESSION['signedIn']): 

?> 

HTML代码:

  <?php if($isWrongUserPass) { ?> 
      <div class="error">Pogresno ste uneli ime ili lozinku!</div> 
     <?php } ?> 

     <form id="signIn" method="post"> 
      <label for="username">Ime</label> 
      <input style="border-radius: 100px" type="text" id="username" name="username" /> 
      <label for="password">Lozinka</label> 
      <input style="border-radius: 100px" type="password" id="password" name="password" /> 
      <input style="border-radius: 100px" type="submit" name="submit" class="submit" value="Uloguj Se" /> 
     </form> 

这工作,但还是变量来打印immediately.I想在出错后要打印密码或名称。两个代码都在一个文件中。

+0

已经改变 –

+0

SHA1是不适合的密码哈希。你应该使用'password_hash()'。 –

+0

检查是否isset($ _ POST ['username'],$ _ POST ['password']){//您的密码CHECK} –

回答

0

,如果你不明白我的意见,更改您的密码校验这样

if(isset($_POST['username'],$_POST['password'])){ 
    if (sha1($_POST['username']) == $username && sha1($_POST['password']) == $password){ 
    $_SESSION['signedIn'] = true; 
    }else{ 
     $isWrongUserPass = true; 
    } 
} 
+0

这是工作,谢谢! –

0

首先你再次发送$isWrongUserPass = false;

并设置$ isWrongUserPass = true在其他条件;

删除else条件。将正常工作。

if (sha1($_POST['username']) == $username && sha1($_POST['password']) == $password){ 
$_SESSION['signedIn'] = true; 

}