2015-04-28 2 views
2

РЕШЕННО @Hanky ​​웃 Panky!предупреждение (сообщение) возвращает пустую строку

Я реализую функцию входа.

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 даже My Гости могут воспользоваться функция входа из php ... поэтому сообщение возвращается так, как оно было: пусто

+2

Зачем использовать непустую строку '' EMPTY STRING !!!!!!! "'? Это просто глупость. Если вы хотите, чтобы люди помогали вам, не делайте таких глупых вещей. Если это пустая строка, используйте что-то вроде '' ''. Если это не пустая строка, не называйте ее «EMPTY STRING !!!!!!!». – Mike

+0

строка была удалена по ошибке, когда я написал квест: D извините. Я отредактировал его – Lulu

+0

@Mike Мне жаль, что я не могу разместить этот комментарий поверх каждой страницы переполнения стека и проголосовать за 100x, чтобы подчеркнуть, насколько это важно. –

ответ

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

Сравните это с

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

И обнаружить свою ошибку :)

Вы отправляете user1 и pass1 и в PHP вы проверяете для nume и parola, которые не существуют, очевидно.

+0

Это также может быть ошибкой перевода при вставке в StackOverflow, поскольку это сайт на английском языке. – Mike

+0

СПАСИБО много !! – Lulu

+1

@ Hanky ​​웃 Panky Угадайте, что вы были правы! – Mike

Смежные вопросы