Insert dans mysql données php/javascript : système de notation
cs_noanis
Messages postés30Date d'inscriptionjeudi 11 septembre 2008StatutMembreDernière intervention16 mars 2011
-
6 oct. 2010 à 18:14
TopScritch
Messages postés11Date d'inscriptionjeudi 17 juin 2004StatutMembreDernière intervention 9 octobre 2010
-
9 oct. 2010 à 00:01
Bonjour, je vous transmets mon problême, j'ai récupéré un script de notation par barre colorées sur ce site. Je l'ai adapté, en multipliant les critères de notation, or je n'arrive pas à insérer les "notes" dans ma bdd. Je n'ai que des 0 qui s'affichent.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title></title>
<style>
function notationobjet(objetnom,num)
{
var commentaire = new Array("Pffff","Bof","Mouais","Moyen","Correct","Normal","Bien","Cool","Super","Génial");
var coultab = "02468ABCDEF";
var i;
var tp,tp2;
for(i=0;i<10;i++)
{
tp = coultab.charAt(i);
tp2 = coultab.charAt(10-i);
var obj=document.getElementById(objetnom+i);
var couleur = "#"+tp2+tp2+tp+tp+"00";
if(i<num+1){obj.style.backgroundColor=couleur;}else{obj.style.backgroundColor="#FFFFFF";}
}
document.getElementById(objetnom+"com").innerHTML=commentaire[num];
}
function validnotation(num)
{
document.write ('')
}
/*
function resetnotation(objetnom)
{
var i;//alert('cool');
for(i=0;i<10;i++)
{
var obj=document.getElementById(objetnom+i);
//alert(objetnom+i);
obj.style.backgroundColor="#FFFFFF";
}
document.getElementById(objetnom+"com").innerHTML="";
} */
function notation(objetnom)
{
var i;
var tmp="";
var objet = document.getElementById(objetnom);
for(i=0;i<10;i++)
{
//alert(objetnom);
tmp +='
cs_noanis
Messages postés30Date d'inscriptionjeudi 11 septembre 2008StatutMembreDernière intervention16 mars 2011 6 oct. 2010 à 21:18
Bonsoir,
J'ai effectué les changements. Mais l'insertion n'est composée que de 0 pour tout les champs,
je n'arrive pas à récupérer les valeurs sélectionnées.
TopScritch
Messages postés11Date d'inscriptionjeudi 17 juin 2004StatutMembreDernière intervention 9 octobre 2010 6 oct. 2010 à 21:43
Bonsoir,
En regardant de plus près :
Il faut que tu crée des input à l'interieur de ton formulaire, ensuite dans ta fonction validnotation(), au lieu de faire un document.write(), fait un document.getElementById(id des input du formulaire).value=num+1;
Comme cela les variables seront crée quand tu passera dans recup_avis.php
Vous n’avez pas trouvé la réponse que vous recherchez ?
function notationobjet(objetnom,num)
{
var commentaire = new Array("Pffff","Bof","Mouais","Moyen","Correct","Normal","Bien","Cool","Super","Génial");
var coultab = "02468ABCDEF";
var i;
var tp,tp2;
for(i=0;i<10;i++)
{
tp = coultab.charAt(i);
tp2 = coultab.charAt(10-i);
var obj=document.getElementById(objetnom+i);
var couleur = "#"+tp2+tp2+tp+tp+"00";
if(i<num+1){obj.style.backgroundColor=couleur;}else{obj.style.backgroundColor="#FFFFFF";}
}
document.getElementById(objetnom+"com").innerHTML=commentaire[num];
}
function validnotation(num)
{
document.getElementById(note).value=num+1;
}
/*
function resetnotation(objetnom)
{
var i;//alert('cool');
for(i=0;i<10;i++)
{
var obj=document.getElementById(objetnom+i);
//alert(objetnom+i);
obj.style.backgroundColor="#FFFFFF";
}
document.getElementById(objetnom+"com").innerHTML="";
} */
function notation(objetnom)
{
var i;
var tmp="";
var objet = document.getElementById(objetnom);
for(i=0;i<10;i++)
{
//alert(objetnom);
tmp +='
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 7 oct. 2010 à 01:50
Et pense à protéger les valeurs soumises dans la variable $_POST : les coller directement dans la requête SQL comme il t'a été proposé, c'est du suicide. Ou plus exactement, un meurtre : celui de ton site et de la base de données.
--
Neige
Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 7 oct. 2010 à 19:11
Salut,
Juste parcouru, mais déjà tu as plusieurs 'id="note"' ... un ID doit être unique dans un document HTML.
... quand en plus on voit, dans la fonction JS notation() :
TopScritch
Messages postés11Date d'inscriptionjeudi 17 juin 2004StatutMembreDernière intervention 9 octobre 2010 7 oct. 2010 à 19:23
En effet, il faut protéger les données qui sont envoyer en post, et aussi vérifier ce qu'elle contiennent.
Ensuite, dans ce que tu à ajouter, tout des input hidden on le même id, et aucune balise html ne doit avoir le même id dans ta page, c'est avec cela que ton javascript peut agir sur ta page.
enfin pour tester tu peut afficher le contenu de ton post avec print_r($_POST) au moin tu saura ce qui est envoyer. (Le retirer apres)
function notationobjet(objetnom,num)
{
var commentaire = new Array("Pffff","Bof","Mouais","Moyen","Correct","Normal","Bien","Cool","Super","Génial");
var coultab = "02468ABCDEF";
var i;
var tp,tp2;
for(i=0;i<10;i++)
{
tp = coultab.charAt(i);
tp2 = coultab.charAt(10-i);
var obj=document.getElementById(objetnom+i);
var couleur = "#"+tp2+tp2+tp+tp+"00";
if(i<num+1){obj.style.backgroundColor=couleur;}else{obj.style.backgroundColor="#FFFFFF";}
}
document.getElementById(objetnom+"com").innerHTML=commentaire[num];
}
/*
function resetnotation(objetnom)
{
var i;//alert('cool');
for(i=0;i<10;i++)
{
var obj=document.getElementById(objetnom+i);
//alert(objetnom+i);
obj.style.backgroundColor="#FFFFFF";
}
document.getElementById(objetnom+"com").innerHTML="";
} */
function notation(objetnom)
{
var i;
var tmp="";
var objet = document.getElementById(confiance1,ponctualite1,disponibilite1,qualite_prestation1,rapport_qp1);
for(i=0;i<10;i++)
{
//alert(objetnom);
tmp +='
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 8 oct. 2010 à 18:39
Je ne sais pas trop quoi dire tant il y a d'erreurs très basiques dans ton code.
A vrai dire j'ai l'impression qu'il te manque les bases les plus essentielles. Me tromperai je ?
N'y vois là aucune méchanceté, mais modifier un tel script nécessite un minimum de connaissances.
Je ne saurai que te conseiller de commencer par lire les tutos HTML (formulaires, ...), puis ceux concernant PHP et Javascript.
En ayant ces bases tu pourras reprendre le script d'origine, l'étudier, et le comprendre.
Fort de ça tu pourras ensuite apporter pas à pas tes modifications.
Le forum est là pour t'aider, mais c'est un chemin impératif.
Quelques conseils :
- utilise un IDE (netbeans, ...) qui te permettra de gagner un temps précieux (coloration syntaxique, indentation, complétion, erreurs de syntaxe, etc ...)
- consulte la console d'erreur JS. Sous FF tu as l'excellente extension Firebug
- active l'affichage des erreurs PHP (pour le dev uniquement), en mettant ces lignes en tout début de script :
- ai le réflexe de lire les erreurs qui sont reportées par les deux points précédents, dans 90% des cas elles donnent la solution.
- si cela ne suffit pas utilise des echo, var_dump(), etc ... partout où c'est nécessaire. Cela te permettra de voir l'état de tes variables au cours de l'exécution du script
- ...
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 8 oct. 2010 à 20:01
Ca pourrait se comprendre, mais ce forum n'est pas là pour écrire du code tout fait.
Ce n'est pas en quelques jours que tu parviendras à avoir un niveau suffisant.
Une fois de plus je ne dis pas ça méchamment, c'est juste la réalité.
Essaie de suivre les "quelques conseils" de mon précédent message, reprend le script initial et poste ton code et les erreurs que tu rencontres (après avoir fait un minimum de recherche of course) Tu auras de l'aide.
Si tu n'as vraiment pas le temps de l'apprentissage il serait sans doute plus raisonnable d'embaucher un développeur.