2017-05-16 8 views
1

これは私のログインページです。関連するユーザー名とパスワードを入力するとログインでき、一致しない場合はログインできません。しかし、私はまだ任意のユーザー名、パスワードを入力しないでログインボタンのをクリックしてログインの特権を持っていることです。ログインページのエラー

これはインデックスページ

<html> 
<head> 
<title>Login</title> 
<link rel="stylesheet" type="text/css" href="login.css"> 
</head> 

<body> 
<div class="login-page"> 
    <form method="post" class="form" action="login.php"> 

     <input type="text" id="user" name="user" placeholder="username"/> 
     <input type="password" id="pass" name="pass" placeholder="password"/> 
     <button type="submit" name="submit" id="btn">login</button> 

    </form> 
</div> 
</body> 
</html> 

これは、ユーザー名とパスワードを空に行をしている意味login.php

<?php 

    //get values passe from form in login.php file 
    $username = $_POST['user']; 
    $password = $_POST['pass']; 

    //to prevent sql injection 
    $username = stripslashes($username); 
    $password = stripslashes($password); 
    $username = mysql_real_escape_string($username); 
    $password = mysql_real_escape_string($password); 

    //connect to the server and select database 
    mysql_connect("localhost","root",""); 
    mysql_select_db('laboursalary'); 

    //query the database for user 
    $result = mysql_query("SELECT * FROM login WHERE username= '$username' and password='$password'") 
       or die("Failed to query database" .mysql_error()); 
    $row = mysql_fetch_array($result); 
    if ($row['username']==$username && $row['password']==$password) { 
     header("Location: ../projectdetails/index.php"); 

    } elseif ($row['username']=="" && $row['password']==""){ 
     echo "Failed to login"; 
    } else { 
     echo "Failed to login"; 
    } 


?> 
+0

警告mysql_query、mysql_fetch_array、mysql_connectなどの拡張機能は、PHP 5.5.0では廃止され、PHP 7.0.0では削除されました。代わりに、MySQLiまたはPDO_MySQL拡張を使用する必要があります。 – Melchizedek

答えて

3
<?php 
if(isset($_POST['submit'])) 
{ 
    //get values passe from form in login.php file 
    $username = mysql_real_escape_string($_POST['user']); 
    $password = mysql_real_escape_string($_POST['pass']); 


    //connect to the server and select database 
    mysql_connect("localhost","root",""); 
    mysql_select_db('laboursalary'); 

    //query the database for user 
    $result = mysql_query("SELECT * FROM login WHERE username= '$username' and password='$password'"); 
    $row = mysql_num_rows($result);   
    if($row == 1) 
    { 
     header("Location: ../projectdetails/index.php"); 

    } else { 
     echo "Failed to login"; 
    } 
} 

?> 
+0

ありがとうございました。それはうまく動作します:) – Lisa234

+0

ようこそ@ Lisa234 –

2

です。表の行を削除し、下のコードも更新してください。

if ($username != "" && $password !=""){ 
//query the database for user 
    $result = mysql_query("SELECT * FROM login WHERE username= '$username' and password='$password'") 
       or die("Failed to query database" .mysql_error()); 
    $row = mysql_fetch_array($result); 
    if ($row['username']==$username && $row['password']==$password) { 
     header("Location: ../projectdetails/index.php"); 

    } else { 
     echo "Failed to login"; 
    } 
} else 
     echo "Failed to login"; 
    } 

注:はまた、あなたのmysql mysqliのための接続やPDOを変更します。最新のPHPバージョンでは非推奨になっています。

関連する問題