jQuery, phpを組み合わせてmySQLに登録されている名前(name)の登録状況を調べるコードを書いています。
validate.php から名前がすでに登録されているときに"1"、登録されていないときに"0"をechoで返しています。
問題点
以下のコードでif文がdataが"1", "0"に関わらずdata!=0としか判断されません。(data==0のときにelse文の方が実行されません。)
コードの書き方がおかしいのか、その他の問題があるのか分からない状況です。
どこにミスあるのかご指摘いただけますと幸いです。
バーション情報
xampp 7.0.5
phpmyadmin: 4.5.2
php:7.0.5
$(document).ready(function(){ var name = $("#name"); var state = false; name.keyup(validateName); function validateName(){ var uname = name.val(); $.post('validate.php', {names:uname}, function(data){ if(data != 0){ nameInfo.removeClass("valid"); nameInfo.addClass("error"); nameInfo.text("This name is already registered!"); state = false; }else{ nameInfo.removeClass("error"); nameInfo.addClass("valid"); nameInfo.text("Name available"); state = true; } }); } });
validate.php
$name = $_POST['names']; if($name != ""){ $dbc = mysqli_connect("localhost", "root", "", "finalproject") or die("We couldnt connect ERROR:"); $username = mysqli_query($dbc, "SELECT name FROM users WHERE name='$name'"); $count = mysqli_num_rows($username); //echo $count; if($count != 0){ echo 1; }else{ echo 0; } }
回答1件
あなたの回答
tips
プレビュー