Modifier une table mysql avec jquery.validationEngine
Bonjour,
J'ai un petit soucis avec jQuery.validationEngine v2.6.1 : https://github.com/posabsolute/jQuery-Validation-Engine
Je l'utilisais déjà pour l'envoi de mail et je n'avais alors pas de soucis. Maintenant, j'aurais aimé mettre à jour une table dans une base de donnée via ce même plugin.
1) J'ai donc ce formulaire :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| <script src="js/jquery.validationEngine.js" type="text/javascript"></script>
<script src="js/jquery.validationEngine-fr.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('form').validationEngine({
ajaxFormValidation: true,
ajaxFormValidationMethod: 'post',
ajaxFormValidationURL: 'update.php',
onAjaxFormComplete: function () {
$('form').animate({opacity: 0, height: 0}, function(){
$(this).css('display','none');
$('.ajaxSubmit').show('slow');
})
},
})
});
</script>
<div id="frame" class="form">
<div class="ajaxSubmit success"><span>SUCCèS : </span>SUCCESS !!!</div>
<form>
...
</form>
</div> |
et ceci dans mon fichiers update.php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <?php
// CONNEXION BASE
include ($_SERVER["DOCUMENT_ROOT"].'/frags/function/mysql_connect.php');
$table_insert = "UPDATE $table SET ... WHERE (...)";
// ENVOI
$send = mysql_query($table_insert);
if ($send) { echo 'true'; /*Affiche le message de succès*/ }
// DECONNEXION BASE
@mysql_close($base);
?> |
Lorsque je valide le formulaire dans ce cas, j'ai bien le message de succès, ... mais ma base de donnée n'a pas été modifiée du tout. :(
2) Si je n'utilise plus le plugin jquery et que je modifie mon formulaire comme ceci :
Code:
1 2 3 4 5
| <div id="frame" class="form">
<form method="post" action="update.php">
...
</form>
</div> |
Là ça fonctionne parfaitement, mais par contre j'affiche update.php alors que moi je voudrais que seul le message de succès s'affiche une fois que update.php s'est exécuté en tâche de fond.
3) Si je reprend le code du fomulaire du point 1) et que je modifie le fichier update.php comme ceci :
Code:
1 2 3 4
| <?php
$send = mail(...);
if ($send) { echo 'true'; /*Affiche le message de succès*/ }
?> |
le message de succès s'affiche et je reçois le mail peu après.
Donc la question c'est :
Pourquoi la fonction mail() s’exécute avec validationEngine alors que mysql_query() non ?
Merci d'avance à tous ceux qui voudront bien m'aider ;)