2016-11-25 1 views
0
<?php 

    session_start(); 

      $c=mysqli_connect('mysql.hostinger.in','u808297599_eval','nandini123'); 
     if(!$c) 
     exit("ERROR"); 
    $db=mysqli_select_db($c,'u808297599_eval'); 
    if(!$db) 
    exit("ERROR"); 
     $e=$_POST['username']; 
     $p=$_POST['password']; 
     $_SESSION['username']=$e; 
     $query="SELECT * FROM tecaherlogin WHERE username='$username' AND  password='$password' "; 
      $result=mysqli_query($c,$query); 
     $exists=mysql_num_rows($result); 

     if ($exists!=0) 
     { 
        //while loop 
       while ($row = mysqli_fetch_assoc($query)) 
       { 
       $dbusername = $row['username']; 
       $dbpassword = $row['password']; 
        } 
       if($dbpassword==$p) 
         { 
       Print '<script>alert("Correct Password!");</script>'; 
       Print '<script>window.location.assign("evaluate.html");  </script>';} 

       else 
      { 
       Print '<script>alert("Incorrect Password!");</script>'; 
       Print  '<script>window.location.assign("teacherloginnew.html");</script>'; 
    } 
    } 
    else 
    echo "user does not exist!"; 
    ?> 

내 로그인 페이지가 다음 페이지로 이동되어 있지만 첫 징후를 경고 것을 보여줍니다 :이 그대로나는이 오류 얻을

warning:mysqli-fetch-assoc expects parameter 1 to be mysqli_result, string given

이 페이지를로드하기 전에 보여줍니다, 경고 표시도 안 내 프로젝트에. 도와주세요.

+0

당신은 mysql_''와'mysqli_'을 혼합해서는 안 :

$query="SELECT * FROM tecaherlogin WHERE username='$username' AND password='$password' "; 

당신은 단지이 필요합니다. http://stackoverflow.com/questions/17498216/can-i-mix-mysql-apis-in-php – Pang

+0

그런데 코드는 [SQL injection attacks] (https : //en.wikipedia. org/wiki/SQL_injection). 그것을 방지하는 방법에 대해 자세히 알아 보려면 [이 게시물] (http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)을 읽어보십시오. 에 – Pang

답변

1

fetch_assoc 문자열 $query입니다.

while ($row = mysqli_fetch_assoc($query)) 

는이 작업을 수행 :

귀하의 mysqli_result는 여기에 통과해야 하나 인 변수 $result입니다

while ($row = mysqli_fetch_assoc($result)) 

암호가 맞으면 다음이 쿼리가 이미 확인합니다. 따라서 아래에서 다시 assoc을 가져올 필요가 없습니다.

$exists=mysql_num_rows($result); 

    if ($exists!=0) 
    { 
     Print '<script>alert("Correct Password!");</script>'; 
     Print '<script>window.location.assign("evaluate.html");  </script>'; 
    } 
    else 
    { 
     Print '<script>alert("Incorrect User or Password!");</script>'; 
     Print '<script>window.location.assign("teacherloginnew.html");</script>'; 
    } 
+0

에 말한대로 그것은 비밀 번호가 맞지 않는다 –

관련 문제