2017-03-11 4 views
-1

저는 parametercheques에 새로운 질문입니다. 사용자 확인에 도움이됩니다. 프로그램을 제공하고 있습니다. 매개 변수화 된 queries.please를 사용하여 데이터베이스를 사용하여 페이지에 로그인하고 싶습니다. 미리 감사드립니다.usercheck에 대한 매개 변수화 된 쿼리

<html> 

<form name="usercheck" method="post" action="newuser.php"> 
    username: <input type="text" name="uname"> <br><br> 
    password:<input type="password" name="pswd"><br><br> 
    <input type="submit" value="Login"> 
</form> 

<?php 

session_start(); 

if (isset($_post['uname'])) { 

    $uname = $_post['uname']; 
    $pswd = $_post["pswd"]; 

    $con = mysqli_connect("localhost", "root", "happy123$", "cbanktb"); 
    $query = "select * FROM banktable where username=? and password=?"; 
    $stmt = mysqli_prepare($con, $query); 
    If ($stmt) { 

     mysqli_stmt_bind_param($stmt, "s", $uname, $pswd); 
     mysqli_stmt_bind_result($stmt, $dbusername, $dbpassword); 
     mysqli_stmt_execute($stmt); 
     mysqli_stmt_fetch($stmt); 

     #$result=mysqli_query($con,"select * from banktable where acno='$aid'"); 

     #$row = mysqli_fetch_row($result); 

     #echo $row[0]." ".$row[1]." ".$row[2]." ".$row[3]." ".$row[4]; 
     #$balance=$row[3]; 
     echo "You are logged in"; 
    } else { 
     echo "You are not $dbusername"; 
    } 
} 

?> 

</html> 
+0

당신이 끝나면 uname 및 $ PSWD $을 받고를 매개 변수화 ?? –

+0

아니요 ... –

+0

세션을 시작했지만 코드에서 사용하고 있지 않습니다. 그래서 세션을 제거하거나 그것을 사용하고 시도하십시오 –

답변

1

사용 mysqli_* prepare statement Or PDO

<html> 

    <form name="usercheck" method="post" action="newuser.php"> 
     username: <input type="text" name="uname"> <br><br> 
     password:<input type="password" name="pswd"><br><br> 
     <input type="submit" value="Login" name="form_submit" > 
    </form> 

    <?php 

    session_start(); 

    if (isset($_post['form_submit'])) { 

     $uname = $_post['uname']; 
     $pswd = $_post["pswd"]; 

     $con = mysqli_connect("localhost", "root", "happy123$", "cbanktb") or die("Connection failed: " . mysqli_connect_error()); 

     $query = "select * FROM banktable where username=? and password=?"; 

     $stmt = $con->prepare($query); 
     $stmt->bind_param('ss',$uname,$pswd); 

      The argument may be one of four types: 

      i - integer 
      d - double 
      s - string 
      b - BLOB 
      //change it by respectively 

     $stmt->execute(); 
     $row_count= $stmt->affected_rows; 
     $stmt->close(); 
     $con->close(); 

     if($row_count>0) 
      { 

      echo "successfully logged in"; 

      //setting session here 
      } 
      else 
      { 
      echo "Login failed"; 

      } 

    } 

    ?> 

    </html>