2016-06-10 15 views
0

Ich habe versucht, ein Mitglied Login für meine Seite zu erstellen. Ich kann es für normale Benutzer arbeiten, aber wenn ich die Admin-Login-Details eingeben, meldet es sich überhaupt nicht an.Admin Login mit mysqli und PHP

<?php 
session_start(); 
?> 
<html> 
<head></head> 
<body> 

<?php 

$host="localhost"; // Host name 
$username="root"; // Mysql username 
$password="root"; // Mysql password 
$db_name="SafeTNetD"; // Database name 
$tbl_name="members"; // Table name 

$con=mysqli_connect($host,$username,$password,$db_name); 
// Check connection 
if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 
if(isset($_POST['login'])){ 
    $email = mysqli_real_escape_string($con,$_POST['email']); 
    $pword = mysqli_real_escape_string($con,$_POST['pword']); 
    $memberType = mysqli_real_escape_string($con,$_POST['memberType']); 
} 

$sel_user = "SELECT * FROM $tbl_name WHERE email = '$email' AND password = '$pword' AND memberType = '$memberType'"; 

$run_user = mysqli_query($con, $sel_user); 

$check_user = mysqli_num_rows($run_user); 

if($check_user > 0){ 
    if($memberType == 1) { 
    $_SESSION['email'] = $email; 
    echo "<script> location.replace('admin.php'); </script>"; 
    } 
    elseif ($memberType == 0) { 
    $_SESSION['email'] = $email; 
    echo "<script> location.replace('home.php'); </script>"; 
    } 
} else { 
    echo "<script>alert('Email or password is not correct, try again!')</script>"; 

} 


</body> 
</html> 

Wenn es mit einer normalen Benutzer E-Mail und Passwort, um es auf die Homepage leitet mich anmelden, aber die Admin-Login-Daten verwenden sie mir informiert, dass entweder die E-Mail oder das Passwort falsch ist, aber ich weiß, die E-Mail und Passwort Recht.

Vielen Dank im Voraus.

+0

Überprüfen Sie den Wert von '$ _POST ['memberType']'? – Dale

+0

echo Ihre Abfrage und überprüfen Sie, was sie zurückgeben !! – Saty

+0

Was ist der Wert von $ _POST ['memberType']? – DsRaj

Antwort

0

Hier gibt mysqli_num_rows keine positive Zählung zurück. Es ist kein Problem mit Benutzername oder Passwort. Es könnte etwas falsch in Ihrer Abfrage sein.

Da Sie gesagt haben, dass es für normale Benutzer funktioniert, überprüfen Sie, ob der $ _POST ['memberType'] mit dem Wert übereinstimmt, den Sie in db haben.

+0

Sie sollten dies lesen http://php.net/manual/en/mysqli-result.num-rows.php – ASR

+0

@ASR was ist los damit? Es geht in die else-Bedingung, weil mysqli_num_rows keine positive Zahl zurückgibt? –

+0

Ahh Ich dachte es ist deine Aussage, dass 'mysqli_num_rows keine positive Zählung zurückliefert.' Jetzt ist es sehr klar auf Ihren Kommentar was Sie sagen werden :) – ASR