2017-05-01 2 views
1

Für den Login ich übergeben Mail-ID und Passwort aus Javascript-Datei und ich habe durch console.log überprüft, dass die Werte gedruckt werden. Aber wenn ich beide Werte in php abbreche, wird nur das Passwort angezeigt. Aber ich kann keinen Fehler finden. Hier paste ich die PHP-Datei.Wert nicht gefunden in PHP

<?php 
require_once('DBconnection.php'); 

ini_set('display_errors', 1); 
ini_set('log_errors', 1); 

$datamail = $_GET["mailID"]; 
$datapass = $_GET["psw"]; 
//$datamail = isset($_GET["mailID"]) ? $_GET["mailID"] : ''; 

echo $datamail; 
echo $datapass; 

$login_query = "SELECT * FROM student_table where mail_id = '$datamail' AND password='$datapass'"; 

//echo $login_query; 

$login_res = $db->query($login_query); 

if($login_res->num_rows == 1){ 
//if($login_res == true){ 
    echo "success"; 
} 
else { 
    //echo $login_res; 
    echo mysqli_error($db); 
    exit; 
} 
$db->close(); 
?> 

Javascrit Hier

function globalLogin() { 
    checkLogInMail(); 
    //pageEntry(); 
} 
function checkLogInMail() { 
    var mailET = document.getElementById("mailID"); 
    var mailIdError = document.getElementById("mailIdErr"); 
    mailID = mailET.value; 
    var regex = /^(([^<>()\[\]\.,;:\[email protected]\"]+(\.[^<>()\[\]\.,;:\[email protected]\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\[email protected]\"]+\.)+[^<>()[\]\.,;:\[email protected]\"]{2,})$/i; 
    if (!regex.test(mailID)) { 
     mailIdError.innerHTML = "Enter a valid Email id"; 
     //loginFlag = 1; 
    } 
    else{ 
     checkmailPass(); 
    } 
} 


function checkmailPass() { 
    var passET = document.getElementById("psw"); 
    var passError = document.getElementById("pswErr"); 

    psw = passET.value; 

    console.log(mailID); 
    console.log(psw); 

    var xhttp = new XMLHttpRequest(); 
    xhttp.onreadystatechange = function() { 
     console.log(this.readyState); 

     if(this.readyState == 4 && this.status == 200) 
     { 
      console.log(this.status); 
      var response = xhttp.responseText; 
      alert(response); 
      if(!response.localeCompare("success")){ 
       document.getElementById("loginErr").innerHTML = "Mail or Password is correct"; 
       //alert("Successfully logged in :)"); 
       //window.location.href = "index.html"; 

      } 
      else{ 
       document.getElementById("loginErr").innerHTML = response; 

      } 
     } 

    } 
    xhttp.open("GET", "passwordChecker.php?psw="+psw+"&mailID"+mailID, true); 
    xhttp.send(); 

} 
+3

Fügen Sie Ihren JavaScript-Code auch ein !! – Saty

+1

Ihr Skript ist in Gefahr [SQL Injection Attack] (http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) Schauen Sie sich an, was mit [Little passiert ist Bobby Tables] (http://bobby-tables.com/) Sogar [wenn Sie Eingaben entgehen, ist es nicht sicher!] (Http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around -mysql-real-escape-string) Verwenden Sie [vorbereitete parametrisierte Anweisungen] (http://php.net/manual/en/mysqli.quickstart.prepared-statements.php). –

+0

Ich sehe aus wie Sie Ihre Passwörter im Klartext speichern. Speichern Sie Ihre Passwörter niemals im Klartext! –

Antwort

2

Sie vermissen = in Ihrem get Anfrage in mailid

xhttp.open("GET", "passwordChecker.php?psw="+psw+"&mailID="+mailID, true); 
0

Sie Datei verpasst ein Gleichheitszeichen '=' in Ihrem Javascript in Ihrem mailid Parameter.

+0

immer mit dem richtigen Code wie @scaisEdge haben gezeigt, –

+0

Es ist in Ordnung, die wichtige Sache ist, sie haben die richtige –

+0

Nein ist nicht in Ordnung, weil Ihre Antwort nicht wie eine Antwort aussieht, ist es ein Kommentar –