Web ページでの電子メール アドレス検証のコーディングに問題があります。
入力が someone@somewhere.tld のように機能するかどうかを確認する最初のステップ。しかし、電子メールがデータベースに既に存在する場合の 2 番目のチェックは、まったく機能していないようです。
jQuery Validation プラグインを使用しています。
これまでの私のコードは次のとおりです。
register.php からの抜粋:
<form action="addKunde.php" id="contact-form" method ="post" class="form-horizontal">
<div class="control-group">
<label class="control-label" for="email">E-Mail-Addresse</label>
<div class="controls">
<input type="text" class="input-xlarge" name="email" id="email">
</div>
</div>
<script src="js/jquery.min.js"></script>
<script src="js/jquery.validate.js"></script>
<script src="script.js"></script>
script.js からの抜粋:
$(document).ready(function(){
$('#contact-form').validate({
rules: {
email: {
maxlength: 100,
required: true,
email: true,
remote: {
url : "check.php",
type : "post"
}
}
},
highlight: function(element) {
$(element).closest('.control-group').removeClass('success').addClass('error');
},
success: function(element) {
$(element).addClass('valid').closest('.control-group').removeClass('error').addClass('success');
}
});
});
check.php からの抜粋:
<?php
include('mysql.php');
$email = trim(strtolower($_POST['email']));
$email = mysqli_real_escape_string($con, $username);
$result = mysqli_query($con, "SELECT * FROM Kunde WHERE EMail = '$email' LIMIT 1;");
$num = mysqli_num_rows($result);
if($num == 0){
echo "true";
} else {
echo "E-Mail-Adresse schon registriert.";
}
mysqli_close($con);
?>
あらゆる種類のさまざまな指示に従って、jQuery-Validation の addMethod を使用して独自の検証メソッドを実装しようとしても、何時間もグーグル検索を続けてきました。
誰かが私を助けてくれることを願っています。
どうもありがとう!