ユーザ名が利用可能かどうかを対話的にチェックするには、いくつかのAjax/JQueryが必要です。これは私が持っているものですが、動作しません。私は明らかに多くの経験を持っていません。インタラクティブなメールチェック - 私は何かここに行方不明ですか?
PHPバックエンド
<?php
if($_POST)
{
$email = strip_tags($_POST['email']);
$stmt=$dbcon->prepare("SELECT email FROM users WHERE email=:email");
$stmt->execute(array(':email'=>$email));
$count=$stmt->rowCount();
if($count>0)
{
echo "<span style='color:brown;'>Sorry username already taken !!!</span>";
}
else
{
echo "<span style='color:green;'>available</span>";
}
}
?>
私は明白な理由のためのDB接続を取り出しています。
JSスクリプトは、私が
$(document).ready(function()
{
$("#email").keyup(function()
{
var email = $(this).val();
if(email.length > 3)
{
$("#user-result").html('checking...');
/*$.post("username-check.php", $("#reg-form").serialize())
.done(function(data){
$("#result").html(data);
});*/
$.ajax({
type : 'POST',
url : 'checkemail.php',
data : $(this).serialize(),
success : function(data)
{
$("#user-result").html(data);
}
});
return false;
}
else
{
$("#user-result").html('');
}
});
});
を使用していたテキストを表示するようになっている言及したIDを持つスパンはありますが、何も実際には起こりません。ここにしばらくぶつかった。
F12ブラウザツールを使用してスクリプトのエラーを探し、[ネットワーク]タブを見て、スクリプトとの送受信の内容を調べます。 –
'PDOStatement :: rowCount()は、対応するPDOStatementオブジェクトによって実行された最後のDELETE、INSERT、またはUPDATE文の影響を受ける行の数を返します。 'https://secure.php.net/manual/en/pdostatement.rowcount.php –
おそらく、それは役に立ちます。 http://stackoverflow.com/a/15010497/3943162 – James