Zuerst muss ich sagen, dass ich neu bei PHP bin. Ich versuche, ein Anmeldeformular mit dem Plugin jqueryValidation engine zu validieren. Es gelingt mir, einige Teile zu validieren und jetzt bin ich bei der Validierung des Benutzernamens fest (überprüfe, ob der eingegebene Name bereits in der Datenbank ist und wenn ja, zeige 'Benutzername ist bereits vergeben'). Wenn ich den Benutzernamen 'validieren bitte warten' eingeben, wird angezeigt und ich kann das Formular nicht senden. Ich habe bootstrap 3.3.6 verwendet.Ich versuche ein Anmeldeformular zu validieren, indem ich jqueryValidation engine plugin verwende, einige Validierungen funktionieren nicht richtig
Hier ist meine Anmeldeformular
<div class="modal fade" id="signupForm" data-backdrop="false" role="dialog">
<div class="modal-dialog">
<div class="modal-content Popmodal">
<div class="modal-header">
<button type="button" class="close Popclose" data-dismiss="modal" aria-label="">
<span>×</span>
</button>
<h4 class="modal-title Poptit">Sign Up</h4>
</div>
<div class="modal-body Popbody">
<div id="error">
<!-- error will be showen here ! -->
</div>
<form class="form-horizontal" method="post" action="registration.php" id="reg-form">
<div class="form-group"><br>
<label class="col-md-4 col-md-offset-1">User Name :</label>
<div class="col-md-5">
<input type="text" placeholder="A name that you like to use" value = "" class="form-control input-sm popname validate[required,custom[onlyLetterNumber],maxSize[20],ajax[ajaxUserCallPhp]]" name="uname" id="uname" data-errormessage-value-missing="Username is required !" data-prompt-position="bottomLeft:5,4"><br>
</div>
</div>
<div class="form-group">
<label class="col-md-4 col-md-offset-1">Email :</label>
<div class="col-md-5">
<input type="email" placeholder="Your email address" class="form-control input-sm popname validate[required,custom[email]]" name="mail" id="mail" data-errormessage-value-missing="Email is required !" data-errormessage-custom-error="Invalid email address !" data-prompt-position="bottomLeft:5,4"><br>
</div>
</div>
<div class="form-group">
<label class="col-md-4 col-md-offset-1">Password :</label>
<div class="col-md-5">
<input type="password" maxlength="15" placeholder="Password" class="form-control input-sm popname validate[required]" name="pass" id="pass" data-errormessage-value-missing="Password is required !" data-prompt-position="bottomLeft:5,4"><br>
</div>
</div>
<div class="form-group">
<label class="col-md-4 col-md-offset-1">Confirm Password :</label>
<div class="col-md-5">
<input type="password" maxlength="15" placeholder="Confirm password" class="form-control input-sm popname validate[required,equals[pass]]" name="cpass" id="cpass" data-errormessage-value-missing="Confirm password is required !" data-errormessage-pattern-mismatch="Password fields do not match !" data-prompt-position="bottomLeft:5,4"><br>
</div>
</div>
<div class="form-group">
<div class="col-md-2 col-md-offset-8">
<button type="submit" class="btn btn-success sign" value="submit" name="signup">Sign Up</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
Hier ist der js Teil
<script>
$(document).ready(function(){
$("#reg-form").validationEngine();
});
</script> //this part is on the index page with signup form
"ajaxUserCallPhp": {
"url": "ajaxValidateFieldUser.php",
"extraDataDynamic": ['#uname'],
"alertTextOk": "* This username is available",
"alertText": "* This user is already taken",
"alertTextLoad": "* Validating, please wait"
}
ist
Hier wird der PHP-Code
<?php
$validateValue=$_REQUEST['fieldValue'];
$validateId=$_REQUEST['uname'];
$validateError= "This username is already taken";
$validateSuccess= "This username is available";
$arrayToJs = array();
$arrayToJs[0] = $validateId;
require_once('dbconfig.php');
$stmt = $db_con->query('SELECT uname FROM users WHERE uname ='$validateValue'');
$stmt->bindValue(':uname', $uname, PDO::PARAM_STR);
$stmt->execute();
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
if ($res->fetchColumn() > 0) {
$arrayToJs[1] = false;
echo json_encode($arrayToJs); // RETURN ARRAY WITH ERROR
} else{
$arrayToJs[1] = true;
echo json_encode($arrayToJs); // RETURN ARRAY WITH success
}
?>