Test de l'exécution d'un script php
Bonjour à tous,
Je débute en AJAX et malgré 2 heures passées à googler sur le sujet, je n'ai toujours pas eu le déclic, alors je fais appel à vos lumières...
J'ai donc un script PHP, lancé via une requête AJAX, qui vérifie et traite les données d'un formulaire (qui permet la modif de données de contacts) situé dans ma page html principale, puis réinjecte du code (en l'occurrence un tableau avec la liste des contacts mise à jour après modif du contact) dans cette même page html, à l'intérieur de la DIV id="liste".
En AJAX, ça donne ça (simplifié) :
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 26 27 28 29
| $(function () {
var $bouton = $('#valider');
$bouton.on('click', function () {
var IdContact = $('#idcontact').attr('value');
var Nom = $('#nom').attr('value');
var Prenom = $('#prenom').attr('value');
var Chaine = '?rappelIdContact='+IdContact+'&nom='+Nom+'&prenom='+Prenom;
if (Nom == '') {
alert('Le NOM est un champ obligatoire !');
}
else {
if (Prenom == '') {
alert('Le PRENOM est un champ obligatoire !');
}
else {
$.ajax({
type: "POST",
url: "update.php,
data: Chaine,
cache: false,
success: function(result){
$("#liste").html(result);
}
});
}
}
return false;
});
}); |
Et mon script update.php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| // teste l'existence et le contenu des paramètres de la requête Ajax
if (isset($_POST['rappelIdContact']) && !empty($_POST['rappelIdContact'])) {$IDCONTACT= $_POST['rappelIdContact'];} else {$IDCONTACT= 0;}
if (isset($_POST['nom']) && !empty($_POST['nom'])) {$NOM= $_POST['nom'];} else {$NOM= "";}
if (isset($_POST['prenom']) && !empty($_POST['prenom'])) {$PRENOM= $_POST['prenom'];} else {$PRENOM= "";}
// vérifie l'existence de l'IdContact dans la BDD
$reqSelect = @mysql_query("SELECT IdContact FROM liste_contacts WHERE IdContact LIKE ".$IDCONTACT);
$totSelect = mysql_num_rows($reqSelect);
if ($totSelect == 1) {
// MAJ de la BDD avec les données du formulaire + requête et listage de la liste des contacts à jour
.....blablabla
return TRUE;
}
else {
// simplement requête et listage de la liste des contacts, vu que l'IdContact n'a pas été repéré dans la BDD et qu'une requête MAJ est du coup impossible
.....blablabla
return FALSE;
} |
Je précise que tout fonctionne à merveille, mais j'aimerais seulement récupérer le retour de l'éxécution de mon script php pour afficher une alerte JS du genre :
Code:
if (le retour du script update.php == TRUE) {alert('Modif effectuée !');} else {alert('Oups !');}
Dans ma requête AJAX, j'avais essayé de mettre :
Code:
1 2 3 4 5
| (...)
success: function(result){
$("#liste").html(result);
}
if (result) {alert('OK');} else {alert('Oups');} |
Mais j'obtiens systématiquement 'OK' même si le script PHP a renvoyé FALSE, sûrement parce qu'il s'agit du bon envoi de la requête AJAX, et non pas du résultat de l'exécution du script appelé.
Bref, je patauge !
Merci @+