2015-04-28 62 views
2

解决@Hanky웃Panky!alert(message)返回一个空字符串

我正在实施登录功能。

JavaScript部分:

function login() { 
    var n = $('#userl').val(); 
    var p = $('#passl').val(); 
    if (n != "" && p != ""){ 
     $.post("functions.php",{userl: n, passl: p}).done(function(mesaj){ 
      if(mesaj == "") 
       alert("!!!!!!!!!!EMPTY STRING!!!!!"); 
      else 
      alert(mesaj); 
     }); 
    } 
    else { 
     alert("Enter name and/or passwort"); 
    } 
}; 

而且从function.php功能看起来:

function login($nume,$parola) 
{ 
    $sql = "SELECT id FROM `Users` WHERE nume ='".$nume."' ANY password = '".md5($parola)."'"; 
    $q = mysql_query($sql); 
    if(!$q) 
     die(json_encode(array("mesaj" => "Invalid"))); 
    else{ 
     $x = mysql_fetch_array($q); 
     if (empty($x)) 
      die(json_encode(array('mesaj' => 'The user does not exist'))); 
     else { 
     // $user = new User($x['id']); 
      session_start(); 
      $_SESSION['user_id'] = $x['id']; 
      $_SESSION['loggedin'] = "yes"; 
      die(json_encode(array("mesaj"=>"you were logged"))); 
     } 

     } 
    //this part may be useless 
    die(json_encode(array("mesaj"=>"you were not logged"))); 
} 


if (isset($_POST['nume']) AND isset($_POST['parola'])) 
     login($_POST['nume'], $_POST['parola']); 

的问题是它让报警空字符串,我认为这doesn'n甚至acccess我从PHP的登录功能...所以消息回来的方式:空

+2

为什么要使用非空字符串“EMPTY STRING !!!!!!!”?这只是愚蠢的。如果你希望人们帮助你不要做那样的傻事。如果它是空字符串,请使用''“''。如果它不是空字符串,请不要将它称为''EMPTY STRING !!!!!!!'''。 – Mike

+0

当我编写任务时,错误地删除了一行:D抱歉。我已经编辑过 – Lulu

+0

@Mike我希望我可以把你的评论放在每个堆栈溢出页面的顶部,并对它投票100倍以强调这是多么重要。 –

回答

3
$.post("functions.php",{userl: n, passl: p}) 

与之比较

if (isset($_POST['nume']) AND isset($_POST['parola'])) 

和现货您的错误:)

您发送user1pass1和PHP你检查numeparola不存在明显。

+0

这也可能是粘贴到StackOverflow时发生的翻译错误,因为它是英文站点。 – Mike

+0

非常感谢! – Lulu

+1

@Hanky웃Panky猜你是对的! – Mike