2017-04-14 38 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; 

}