How can I optimize the following PHP/JS code?
It works like a charm but I think it is too long and I'm sure it could be optimized. If I have another form, I'll need to copy paste some lines from my PHP code and it'll be quickly overkill.
JavaScript:
<script>
$(document).ready(function() {
$('#createAccount').on('submit', function() {
var Email = $('#Email').val();
var Password = $('#Password').val();
var PasswordRepeat = $('#PasswordRepeat').val();
$.ajax({
url: $(this).attr('action'),
type: $(this).attr('method'),
data: $(this).serialize(),
dataType: 'json',
success: function(json) {
$('.alert-message').text(json.reponse).show();
}
});
return false;
});
});
</script>
PHP:
<?php
$reponse="";
if(isset($_POST['Email']) && isset($_POST['Password']) && isset($_POST['PasswordRepeat'])) {
// Si tous les champs ne sont pas renseignés
if($_POST['Email'] == '' || $_POST['Password'] == '' || $_POST['PasswordRepeat'] == '') {
$reponse = "Tous les champs doivent être remplis.";
}
// Si les mots de passe ne sont pas similaires
if($_POST['Password'] != $_POST['PasswordRepeat']) {
$reponse = "Les mots de passe ne sont pas similaires.";
}
// Si ce n'est pas une adresse de courriel
if(!preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $_POST['Email'])) {
$reponse = "L'adresse de courriel ne semble pas conforme.";
}
// Si le mot de passe est trop court
if(strlen($_POST['Password']) <= 5) {
$reponse = "Le mot de passe être top court.";
}
// Si tout est ok
if(($_POST['Password'] == $_POST['PasswordRepeat']) && ($_POST['Email'] != '' && $_POST['Password'] != '' && $_POST['PasswordRepeat'] != '') && (preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $_POST['Email'])) && (strlen($_POST['Password']) >= 6)) {
$reponse = "Nice";
}
}
else {
$reponse = "Une erreur s'est produite.";
}
$array['reponse'] = $reponse;
echo json_encode($array);
?>