0

Facebookでプロファイルのユーザー名を変更するようなこのコードは、このコードに問題があります:

$(function(){
 var uid = 1;
 var name_available=0;
 var password_ok=0;
$('#name,#password').bind('keyup',function(){
  var name = $('#name').val();
  var password = $('#password').val();

   if(/[^a-zA-Z_\.0-9]+/.test(name)){
      $('#result').html('Invalid Charcters');
      name_available = 0;
   }else{
     $.ajax({
       url: 'check_user.ajax.php',
       type: 'POST',
       data: 'name='+name,
       success: function(data){
         if(data){
              $('#result').html('available');
              name_available = 1;
         }else{
              $('#result').html('not available');
              name_available = 0;
         }
       }
     });
   }
     $.ajax({
       url: 'check_user.ajax.php',
       type: 'POST',
       data: 'uid='+uid+'&password='+password,
       success: function(data){
         if(data){
              $('#result2').html('true');
              password_ok = 1;
         }else{
              $('#result2').html('false');
              password_ok = 0;
         }
       }
     });

     if(name_available === 1 && password_ok === 1){
        $('#save').removeAttr('disabled');
     }else{
        $('#save').attr('disabled','disabled');
     }
});
});

htmlコードは次のとおりです。

username:<input type="text" name="name" value="" id="name" /><span id="result"></span><br />

password:<input type="password" name="password" value="" id="password" /><span id="result2"></span><br />

<input type="submit" name="save" value="save changes" id="save" disabled /><br />

ajax.php oage は次のとおりです。

include 'config.php';

if(isset($_POST['name'])){
$name = $_POST['name'];
    if(!empty($name)){
    $sel = mysql_query("SELECT `id` FROM `users` WHERE `name`='$name'");
    $num = mysql_num_rows($sel);
    if($num > 0){
        echo false;
    }else{
        echo true;
    }
}else{
  echo false;
}
}else{
echo false;
}

if(isset($_POST['password']) && isset($_POST['uid'])){
$uid      = $_POST['uid'];
$password = md5($_POST['password']);
$sel      = mysql_query("SELECT `id` FROM `users` WHERE `id`='$uid' AND `password`='$password'");
$num      = mysql_num_rows($sel);
if($num < 1){
    echo false;
}else{
    echo true;
}
}else{
echo false;
}

ユーザー名またはパスワードを変更してからユーザーを変更すると、コードは機能しますが、常に機能するとは限りません

私を助けてください、それは私にとって重要です。

4

1 に答える 1