1

Тема: AJAJ не працює, як треба =(

Хай. Проста ідея, коли користувач вводить логін і тисне кнопку, то скрипт має перевірити, чи існує запис з таким логіном в таблиці. Якщо існує, то повертається 1, а якщо ні, то 0. І на основу отриманого значення виводится повідомлення про те, чи можна використовувати цей логін. HTML

<!DOCTYPE html>
<html>
<head>
    <title>Register</title>
    <link rel="stylesheet" href="style.css">
    <script src="jquery-1.11.0.js"></script>
    <script src="main.js"></script>
</head>
<body>
<div id="wrapper">
<input type="text" id="lgn" placeholder="Login"/> 
<br/>
<input type="password" id="psw" placeholder="Password"/><br/>
<button id="btn">Sign Up</button>
<div id="res"></div>
</div>
</body>
</html>

JS

$(document).ready(function(){
$("#btn").on("click",function(){
    
var res = document.getElementById("res");

var data = {};
data.lgn=$("#lgn").val();
data.psw=$("#psw").val();
$.post("/post.php",data,function(data){
    if(data.res===0)
    {
      res.innerHTML="this login already used";
    }
    else
        {
            res.innerHTML="u can use this login";
        }
},"json");
});}
);

PHP

<?PHP
$lgn = $_POST['lgn'];
$result = array();

mysql_connect("localhost", "root", "");
mysql_select_db("supercourse");
$q = mysql_query("call SP_CheckLogin('".$lgn."')");
$value = mysql_result($q, 0) or ($value=0);
if($value>0)
{
    $result['res']=1;
}
else
{
    $result['res']=0;
}

echo json_encode($result);
?>

Проблема от в чому, коли я ввожу логін, котрий вже використовується, то мені пише, що він використовується, але коли я пишу інший логін, котрий не використовується, то мені нічого не пише =( Чому так?

2

Re: AJAJ не працює, як треба =(

AJAX же.
Дуже дивна поведінка, незважаючи на причину.

3

Re: AJAJ не працює, як треба =(

quez написав:

AJAX же.
Дуже дивна поведінка, незважаючи на причину.

АЯЙ!

4 Востаннє редагувалося Invader (22.06.2014 18:15:03)

Re: AJAJ не працює, як треба =(

А в мене все працює. Перевірте програму на PHP. В консоль броузера заглядали?

5

Re: AJAJ не працює, як треба =(

А як таке може бути? data.res або нуль, тоді виводиться перша стрічка, або не нуль, тоді друга. Ще теоретично може бути ексепшн (не знаю, як з ними в js) або продовжуватись виконання.

6

Re: AJAJ не працює, як треба =(

Може загадка тут:

$value = mysql_result($q, 0) or ($value=0);

7

Re: AJAJ не працює, як треба =(

я так зробив

<?PHP
$lgn = $_POST['lgn'];
$result = array();

mysql_connect("localhost", "root", "");
mysql_select_db("supercourse");
$q = mysql_query("call SP_CheckLogin('".$lgn."')");
$num_of_rows = mysql_num_rows($q);
if($num_of_rows>0)
{
    $result['res']=1;
}
else
{
    $result['res']=0;
}

echo json_encode($result);
?>

8

Re: AJAJ не працює, як треба =(

І що тепер?

9

Re: AJAJ не працює, як треба =(

1. використовуйте PDO там набагато зручніше з усім цим працювати.

Оновлено:
0. виправте помилку у назві теми!   - я не знав про AJAJ ((

10

Re: AJAJ не працює, як треба =(

quez написав:

AJAX же.

https://en.wikipedia.org/wiki/AJAJ же! XML - минуле тисячоліття. :)

Подякували: FakiNyan1

11

Re: AJAJ не працює, як треба =(

Invader написав:

І що тепер?

А що ви пропонуєте?

12

Re: AJAJ не працює, як треба =(

funivan написав:

0. виправте помилку у назві теми!
1. використовуйте PDO там набагато зручніше з усім цим працювати.

яку ще помилку? Ви щось маєте проти АЯЮ? Мені ваш АЯКС непотрібен 100 років, в мене є АЯЙ. АЯЙ!
так мені тільки ось ця одна форма реєстрації і все, більше ніякого коду нема

Подякували: bunyk1