2016-11-03 8 views
1

私がしたいのは、 'win!'です。何らかの理由でDBにその情報が見つからなかった場合、データベースの詳細(正確に動作する)と「損失」でログインした場合PHP/JS:取得できません

私の問題は、何らかの理由で私のコード行が 'echo $ email;'です。動作しません。それはNULLに設定されているようです。

現時点では、入力内容に関係なく「損失」しか表示されませんが、データベースに空の電子メールとパスワード(電子メール= ""、パスワード= "")を含む行を追加すると、PHPスクリプトは 'win!'を返します。

PHPコード:

<?php 
// echo "php test"; 
//server info 
$servername = "localhost"; 
$username = "root"; 
$dbpassword = "root"; 
$dbname = "personal_data"; 


//Establish server connection 
$conn = new mysqli($servername, $username, $dbpassword, $dbname); 


//Check connection for failure 
if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 

//Read in email & password 
echo "reading in email & password..."; 
$email = mysqli_real_escape_string($conn, $_POST['email1']); 
$password = mysqli_real_escape_string($conn, $_POST['password1']); 
echo $email; //this prints blank 
echo $password; //this also prints blank 

$sql = "SELECT Name FROM personal_data WHERE Email='$email' AND Password='$password' LIMIT 1"; 
$result = mysqli_query($conn, $sql); 


if(mysqli_num_rows($result) > 0){ 
     echo "win!!"; 
    } else { 
     echo "loss"; 
    } 

mysqli_close($conn); 
?> 

JSコード:

$(document).ready(function(){ 
// alert("js working"); 

$('#login_button').click(function(){ 
    var email = $('#email').val(); //prints the correct value 
    var password = $('#password').val(); //prints the correct value 

var dataString = 'email1=' + email 
       + '&password1=' + password; 

$.ajax({ 
       type: "POST", 
       url: "http://localhost:8888/php/login.php", 
       data: dataString, //posts to PHP script 
       success: success() 
      }); 

});//eo login_button 

function success(){ 
alert("success"); 
} 

});//eof 
+0

'var dataString = {email1:email、password1:password};'を試し、 'data'オプションに直接渡してください – adeneo

答えて

0

それ以外には、完全にめちゃくちゃ役に立たないと一切のセキュリティで、あなただけの$.ajax()を交換することができるという事実から、 $.post()の場合は次のようになります。

関連する問題