2016-04-28 8 views
1

PHPで簡単なログインを実装したいと思います。しかし、また、ログインが間違っているときにエラーメッセージをカスタマイズしたいとします。たとえば、エラーメッセージを赤色で表示するなどです。ログイン時にカスタムエラーメッセージを表示

Login.phpLogin.phpファイルで

<form id="frmlogin" name="frmlogin" method="POST" action="validarUsuario.php"> 
    <p><input type="text" name="usuario" id="usuario" class="required" maxlength="50" placeholder="Nombre Usuario"></p> 
    <p><input type="password" name="password" id="password" class="required" maxlength="50" placeholder="Password"></p> 
    <p id=error> </p> 
    <p class="submit"><input type="submit" name="commit" value="Login"></p> 
</form> 

validarUsuario.php

<?php 
    include("connection.php"); 
    conectar_bd(); 

    $usr = $_POST['usuario']; 
    $pw = md5($_POST['password']); 
    $sql = "SELECT usr FROM Client WHERE usr = '$usr'AND password ='$pw'"; 
    $result = mysql_query($sql, $con); 

    if ($fila = mysql_fetch_array($result)) { 
     header('Location: menuclient.php'); 
    } else { 
     /* How customize my message error */ 
    } 
?> 

、ユーザ名またはパスワードが正しくないとき、私は、表示したいですたとえば、の場合id = error:「ログインが正しくありません」は赤で表示されます。 私はPHPでそれができるかどうかは分かりません。 ご協力いただきありがとうございます。

+0

追記:パスワードをハッシュするときに塩を使用する必要があります(https://crackstation.net/hashing-security.htm) – Chaim

+0

ありがとう!私はより多くのセキュリティに塩を追加します – arisolarpower

答えて

3

sessionを使用できます。次のようにしてください。

Login.php

<?php 
    session_start(); 
    if($_SESSON['error']): ?> 
    <span>Error : <?php echo $_SESSION['errorMsg']; ?></span> 
    <?php endif; ?> 
    <form id="frmlogin" name="frmlogin" method="POST" action="validarUsuario.php"> 
      <p><input type="text" name="usuario" id="usuario" class="required" maxlength="50" placeholder="Nombre Usuario"></p> 
      <p><input type="password" name="password" id="password" class="required" maxlength="50" placeholder="Password"></p> 
      <p id=error> </p> 
      <p class="submit"><input type="submit" name="commit" value="Login"></p> 
     </form> 

validarUsuario.php

<?php 
session_start(); 

include("connection.php"); 
conectar_bd(); 

$usr = $_POST['usuario']; 
$pw = md5($_POST['password']); 
$sql = "SELECT usr FROM Client WHERE usr = '$usr'AND password ='$pw'"; 
$result=mysql_query($sql,$con); 

if($fila=mysql_fetch_array($result)) 
{ 
    header('Location: menuclient.php'); 
} 
else { 

    $_SESSION['errorMsg'] = "Wrong username or Password"; 
    $_SESSION['error'] = true; 
    header('Location: Login.php'); 

} 
?> 
+0

ありがとう!あなたのコードをテストしましたが、間違ったログインを導入すると** Login.php **にリダイレクトされ、エラーは表示されません。 – arisolarpower

+0

これはあなたのメッセージを別のページに送る唯一の方法です。セッションが正しく設定されている場所を確認してください – AkshayP

+0

非常に感謝!私は私の小さなエラーを発見した。あなたの答えの仕事。 – arisolarpower

関連する問題