Bonjour à tous...
Il y a quelques années je m'étais fait aider ici même pour un code qui me posait problème :
Je voulais vérifier que l'entrée que l'on venait de saisir dans un input ne se trouvait pas déjà dans une base de données (histoire de ne pas remplir tout un formulaire avant d'apprendre que le produit existait déjà).
J'avais mis ce code qui fonctionnait de côté et je le reprend aujourd'hui, mais il ne fonctionne plus : rien ne s'affiche !
Le champ input de mon formulaire :
Le script commenté en bas de page :
La page verifaliment.php appelée pour vérifier :
Je ne comprend pas pourquoi ce qui fonctionnait il y a 3 ans ne fonctionne plus aujourd'hui !
Merci d'avance pour vos lumières !
Il y a quelques années je m'étais fait aider ici même pour un code qui me posait problème :
Je voulais vérifier que l'entrée que l'on venait de saisir dans un input ne se trouvait pas déjà dans une base de données (histoire de ne pas remplir tout un formulaire avant d'apprendre que le produit existait déjà).
J'avais mis ce code qui fonctionnait de côté et je le reprend aujourd'hui, mais il ne fonctionne plus : rien ne s'affiche !
Le champ input de mon formulaire :
<input type="text" name="nom" id="nom" size="60" maxlength="60" value="" required /><br /><div id="namebox"></div> <br />
Le script commenté en bas de page :
<script type="text/javascript">
$(function(){
// Cette fonction s'execute une fois tous les éléments de ta page chargés
$("#nom").change(function(){
// cette fonction s'execute au changement de valeur de ton input
var saisie = $(this).val(); // récupération de la valeur saisie par l'utilisateur
$.post("verifaliment.php", { "valeurSaisie" : saisie })
.done(function(data){
// cette fonction est executée au succès de l'appel ajax
// => elle prend en param le contenu de la réponse
if (data == 1) {
document.getElementById("namebox").innerHTML = 'Attention : cet aliment a déjà été créé' ;
}
else if (data == 2) {
document.getElementById("namebox").innerHTML = ' ';
}
})
.fail(function(){
// cette fonction est executée en cas d'echec de l'appel
alert('Vérification de saisie impossible actuellement !');
});
});
});
</script>
La page verifaliment.php appelée pour vérifier :
<?php
echo "string";
if (isset($_POST['valeurSaisie'])){
// Connexion à la base de données :
require ('connexion.php');
// Formatage de la saisie utilisateur :
$nom = strtoupper($_POST['valeurSaisie']);
// Requête vérification dans bdd si aliment déjà présent :
$requete = $bdd->prepare('SELECT aliment_id FROM menu_aliments WHERE aliment_nom = :nom LIMIT 1');
$requete->execute(array('nom' => $nom));
$count = $requete->rowCount();
if($count > 0){ // L'aliment existe déjà dans la base
$data = 1;
}
else { // L'aliment n'existe pas
$data = 2;
}
// Fermeture connexion
$requete->closeCursor();
echo $data;
}
?>
Je ne comprend pas pourquoi ce qui fonctionnait il y a 3 ans ne fonctionne plus aujourd'hui !
Merci d'avance pour vos lumières !