2016-12-22 10 views
0

mysqlのユーザデータベースをチェックし、入力されたユーザ名とパスワードが一致するかどうかを確認するphpを使用してログインページを作成しようとしています。私にとっては、正しいユーザー名とパスワードを入力しても、メッセージが無効であることを示しています。私のコードの問題は何ですか? BTW connection.phpページには、ページをデータベースにリンクするためのコードが含まれています。PHP/MySql:ログインページが動作しない

<?php 
session_start(); 
include 'connection.php'; 
    if (isset($_POST['submit'])) { 
     if (isset($_POST['tsmUsername'])) { 
      $username=$_POST['tsmUsername']; 
      $password=$_POST['tsmPassword']; 
     $sql="SELECT * FROM users WHERE username=$username AND password=$password LIMIT 1"; 
     $result=mysqli_query($connection,$sql); 
     if(mysqli_num_rows($result)==1) 
     { 
      echo "You have successfully logged in"; 
     } 
     else{ 
      echo "Invalid"; 
     } 
     } 
    } 
?> 
<html> 
    <head> 
     <title>login</title> 
    </head> 
    <body> 
     <form name="login" id="login" method="POST" action=""> 
     <table cellpadding="5" border="0" width="100%"> 
      <tr> 
       <td colspan="3" align="center"> 
        <h2>login </h2> 
        <hr> 
        <h6> Fill the below information to login</h6> 
       </td> 
      </tr> 
      <tr> 
       <td width="30%" align="right"> 
        <label for="tsmUsername">Username</label> 
       </td> 
       <td align="left"> 
        <input type="text" name="tsmUsername" id="tsmUsername" required="required"> 
       </td> 

      </tr> 
      <tr> 
       <td width="30%" align="right"> 
        <label for="tsmPassword">Your password</label> 
       </td> 
       <td align="left"> 
        <input type="password" name="tsmPassword" id="tsmPassword" required="required"> 
       </td>   
      </tr> 
      <tr> 
       <td colspan="2" align="center"> 
        <input type="submit" name="submit" value="login Now"> 
       </td> 
      </tr> 
      </table> 
      </form> 
      </body> 
      </html> 
+1

あなたは冗談でしょうか? * username = $ usernameとpassword = $ password * ** SQLクエリ**を見てください。... – donald123

+0

SQLインジェクションなど.....、一重引用符でエスケープしています.... – JustBaron

+0

ユーザー名: '''または '%''のようなユーザー名は有効なログインになります – mike510a

答えて

1

このお試しください:

$sql="SELECT * FROM users WHERE username='$username' AND password='$password' LIMIT 1"; 

を、あなたはパスワードを確保するための任意のアルゴリズムを使用していませんか?サイトをハックするのはとても簡単です

関連する問題