2017-07-12 6 views
0

werden, wenn ich zu meinem Benutzerkonto anmelden es diese Warnung angezeigt: -Warnung: mysqli_fetch_array() erwartet Parameter 1 MySQLi_Result, null in action_login.php

Warnung: mysqli_fetch_array() erwartet Parameter 1 zu sein MySQLi_Result, null in gegeben /hermes/bosnaweb24a/b1323/ipg.techbitercom1/duracomexteriors/admin/action/action_login.php on line 12 Warning: Can not modify header information - headers already geschickt von (Ausgabe begann bei /hermes /bosnaweb24a/b1323/ipg.techbitercom1/duracomexteriors/admin/action/action_login.php:12) in /hermes/bosnaweb24a/b1323/ipg.techbitercom1/duracomexteriors/admin/action/action_login.php on line

ich bin mein action_login.php Code

<?php 

    require_once("../../db_connection/dbConnection.php"); 
    session_start(); 
    if(isset($_POST["ok"])){ 
     $username=$_POST["username"]; 
     $password =$_POST["password"]; 

      if(mysqli_query($con, "select * from tbl_admin_log where user_name='$username' or email='$username' and password='$password'")){ 
       $_SESSION["login"] = $username; 
       $_SESSION["passw"] = $password; 
       while($ln = mysqli_fetch_array($log, MYSQLI_ASSOC)){ 
        $_SESSION["log_type"] = $ln["type"]; 
       } 
       header("location:../admin.php"); 
      } 
      else{ 
       header("location:../index.php?failed=Invalid Username or Password!"); 
      } 
    } 

    ?> 
+0

session_start müssen immer sehr erste Zeile des Skripts sein. – Gyan

+2

Mögliches Duplikat von [mysqli \ _fetch \ _array()/mysqli \ _fetch \ _assoc()/mysqli \ _fetch \ _row() erwartet, dass Parameter 1 resource oder mysqli \ _result, boolean ist] (https://stackoverflow.com)/questions/2973202/mysqli-fetch-array-mysqli-fetch-assoziieren-mysqli-fetch-row-expects-parameter-1) – JYoThI

+1

$ log ist nirgendwo definiert, – sumit

Antwort

-1

Anbringen Setzen session_start() über die require_once() Aussage.

+1

Aber es löst nicht den mysql Fehler – sumit

0

Verwendung so etwas wie diese und sehen, ob es

session_start();  
require_once("../../db_connection/dbConnection.php"); 

if(isset($_POST["ok"])){ 
    $username=$_POST["username"]; 
    $password =$_POST["password"]; 

    $checkLogin = mysqli_query($con,"SELECT * FROM tbl_admin_log WHERE (user_name='$username' OR email='$username') AND password='$password'") or die(mysqli_error($con));  
    if(mysqli_num_rows($checkLogin)>0){ 
    $_SESSION["login"] = $username; 
    $_SESSION["passw"] = $password; 
    $checkLoginRow = mysqli_fetch_assoc($checkLogin); 
    $_SESSION["log_type"] = $checkLoginRow["type"]; 
    header("location:../admin.php"); 
    }else{ 
    header("location:../index.php?failed=Invalid Username or Password!"); 
    } 
} 
+0

zeigt es inkorrekte Benutzername und Passwort – abhi

+0

Eine Frage abhi, haben Sie Benutzername in Benutzername und E-Mail-Spalten in Datenbanktabelle? – Gyan

0

1. arbeitet: Ihre session_start() auf ganz oben auf der Seite verschieben

2.: Sie zum Gruppieren der oder Zustand mit geklam- mert wie dies (user_name='$username' or email='$username')

3rd: Überprüfen Sie zuerst die Abfrage wenn die Bedingung if(($log) && mysqli_num_rows($log)>0){ }

"select * from tbl_admin_log where (user_name='$username' or email='$username') and password='$password'" 

PHP mit diesem Erfolg ist oder nicht dann das Ergebnis zählen:

$log = mysqli_query($con, "select * from tbl_admin_log where (user_name='$username' or email='$username') and password='$password'") or die(mysqli_error($con)); 

if(($log) && mysqli_num_rows($log)>0){ 

     $_SESSION["login"] = $username; 
     $_SESSION["passw"] = $password; 
     $ln = mysqli_fetch_assoc($log, MYSQLI_ASSOC); 
     $_SESSION["log_type"] = $ln["type"]; 

     header("location:../admin.php"); 
} 
else{ 

    header("location:../index.php?failed=Invalid Username or Password!"); 
} 
Verwandte Themen