begin process at 2012 05 31 00:21:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Insert dans mysql données php/javascript : système de notation


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Insert dans mysql données php/javascript : système de notation

mercredi 6 octobre 2010 à 18:14:40 | Insert dans mysql données php/javascript : système de notation

noanis

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>

.notations
{
position : relative;
border : 1px none #000000;
width : 155px;
height : 20px;
}
</style>

<script>


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 ('<input type="text" name="confiance" 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 +='<div id="'+objetnom+i+'" style="background-color:#FFFFFF;position:absolute;left:'+(15*i+1)+'px;top:1px;height:14px;width:14px;border:1px dotted black;background-color:white;font-size:none;" onclick="validnotation('+i+'); " onmouseover="notationobjet(\''+objetnom+'\','+i+')" onmouseout="resetnotation(\''+objetnom+'\')"></div>';
}
objet.innerHTML = tmp+'<div id="'+objetnom+'com" style="position:absolute;border: font-size:14px;left:160px;top:1px;"></div>';
}

</script>

</head>

<body>
<form method="post" action="recup_avis.php" enctype="multipart/form-data">
<div>confiance<div id="confiance" name="confiance" class="notations"></div><script>notation("confiance");</script></div>

<div>ponctualité<div id="ponctualite" name="ponctualite" class="notations"></div><script>notation("ponctualite");</script></div>
<div>disponibilité<div id="disponibilite" class="notations"></div><script>notation("disponibilite");</script></div>
<div>qualité de prestation<div id="qualite_prestation" class="notations"></div><script>notation("qualite_prestation");</script></div>
<div>rapport qualité prix<div id="rapport_qp" class="notations"></div><script>notation("rapport_qp");</script></div>
<input type="button" value="Envoyer" />

</body>
</html>

voici mon script insert

<?php

//connection au serveur
$cnx = mysql_connect( "127.0.0.1", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "lol" ) ;

$sql1 = "INSERT INTO avis (id_annonce,confiance, ponctualite, disponibilite, qualite_prestation, rapport_qualite_prix, date_avis)
VALUES ('".$_GET['id']."','".$_GET['confiance']."','".$_GET['ponctualite']."', '".$_GET['disponibilite']."','".$_GET['qualite_prestation']."','".$_GET['rapport_qp']."',NOW())";


$requete = mysql_query($sql1, $cnx) or die( mysql_error() ) ;

if($requete)
{
echo("L'insertion a été correctement effectuée" ) ;
}
else
{
echo("L'insertion à échouée" ) ;
}
?>

Voici le message d'erreur

Notice: Undefined index: id in C:\Program Files\EasyPHP-5.3.3\www\v1\recup_avis.php on line 9

Notice: Undefined index: confiance in C:\Program Files\EasyPHP-5.3.3\www\v1\recup_avis.php on line 9

Notice: Undefined index: ponctualite in C:\Program Files\EasyPHP-5.3.3\www\v1\recup_avis.php on line 9

Notice: Undefined index: disponibilite in C:\Program Files\EasyPHP-5.3.3\www\v1\recup_avis.php on line 9

Notice: Undefined index: qualite_prestation in C:\Program Files\EasyPHP-5.3.3\www\v1\recup_avis.php on line 9

Notice: Undefined index: rapport_qp in C:\Program Files\EasyPHP-5.3.3\www\v1\recup_avis.php on line 9
L'insertion a été correctement effectuée
mercredi 6 octobre 2010 à 19:46:05 | Re : Insert dans mysql données php/javascript : système de notation

DiabloBros

hé bé ? c bon ? L'insertion a été correctement effectuée ? nan

les erreur au dessus c normal , si index est pas defini au 1er affichage

rajoute un truc comme ca deja
<?php
if (isset($index))
echo $index
?>

et jai pas tous compris avec tous tes 0? vu que ca insert corectement


DiabloBros Was Here...
mercredi 6 octobre 2010 à 19:48:41 | Re : Insert dans mysql données php/javascript : système de notation

TopScritch

Bonjour,


Les données que tu envoie depuis ton formulaire sont en post, dans ton fichier recup_avis.php tu les récupère en GET , dont ils n'existe pas !!!


Essaye ca :
$sql1 = "INSERT INTO avis (id_annonce,confiance, ponctualite, disponibilite, qualite_prestation, rapport_qualite_prix, date_avis)
VALUES ('".$_POST['id']."','".$_POST['confiance']."','".$_POST['ponctualite']."', '".$_POST['disponibilite']."','".$_POST['qualite_prestation']."','".$_POST['rapport_qp']."',NOW())";
mercredi 6 octobre 2010 à 21:18:04 | Re : Insert dans mysql données php/javascript : système de notation

noanis

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.
mercredi 6 octobre 2010 à 21:43:35 | Re : Insert dans mysql données php/javascript : système de notation

TopScritch

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
mercredi 6 octobre 2010 à 23:27:07 | Re : Insert dans mysql données php/javascript : système de notation

noanis

Voici les changements que j'ai effectué
Néanmoins l'insertion continue a me mettre des 0 et non pas les valeurs en cours lors du post

<!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>

.notations
{
position : relative;
border : 1px none #000000;
width : 155px;
height : 20px;
}
</style>

<script>


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 +='<div id="'+objetnom+i+'" style="background-color:#FFFFFF;position:absolute;left:'+(15*i+1)+'px;top:1px;height:14px;width:14px;border:1px dotted black;background-color:white;font-size:none;" onclick="validnotation('+i+'); " onmouseover="notationobjet(\''+objetnom+'\','+i+')" onmouseout="resetnotation(\''+objetnom+'\')"></div>';
}
objet.innerHTML = tmp+'<div id="'+objetnom+'com" style="position:absolute;border: font-size:14px;left:160px;top:1px;"></div>';
}

</script>

</head>

<body>
<form method="post" action="" name="envoie_note" enctype="multipart/form-data">

<div>confiance<div id="confiance" name="confiance" class="notations"></div><script>notation("confiance");</script><input type="hidden" name="confiance" id="note"></div>
<div>ponctualité<div id="ponctualite" name="ponctualite" class="notations"></div><script>notation("ponctualite");</script><input type="hidden" name="ponctualite" id="note"></div>
<div>disponibilité<div id="disponibilite" class="notations"></div><script>notation("disponibilite");</script><input type="hidden" name="disponibilite" id="note"></div>
<div>qualité de prestation<div id="qualite_prestation" class="notations"></div><script>notation("qualite_prestation");</script><input type="hidden" name="qualite_prestation" id="note"></div>
<div>rapport qualité prix<div id="rapport_qp" class="notations"></div><script>notation("rapport_qp");</script><input type="hidden" name="rapport_qp" id="note"></div>
<input type="submit" value="Envoyer" name="envoie_note" />
<div>
<?php
if (isset($_POST['envoie_note'])){
if($_POST['envoie_note'])
{
include('recup_avis.php');
}
}

?>
</div>
</body>
</html>

<?php

//connection au serveur
$cnx = mysql_connect( "127.0.0.1", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "lol" ) ;



if ((isset($_POST['confiance']) )&& (isset($_POST['ponctualite']) )&& (isset($_POST['disponibilite']) )&& (isset($_POST['qualite_prestation']) ) && (isset($_POST['rapport_qp']))){

$sql1 = "INSERT INTO avis (confiance, ponctualite, disponibilite, qualite_prestation, rapport_qualite_prix, date_avis)
VALUES ('".$_POST['confiance']."','".$_POST['ponctualite']."', '".$_POST['disponibilite']."','".$_POST['qualite_prestation']."','".$_POST['rapport_qp']."',NOW())";


$requete = mysql_query($sql1, $cnx) or die( mysql_error() ) ;

if($requete)
{
echo("L'insertion a été correctement effectuée" ) ;
}
else
{
echo("L'insertion à échouée" ) ;
}
} else
{
echo("Remplir tout les champs" ) ;
}
?>
jeudi 7 octobre 2010 à 01:50:03 | Re : Insert dans mysql données php/javascript : système de notation

neigedhiver

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à ;)
jeudi 7 octobre 2010 à 12:47:58 | Re : Insert dans mysql données php/javascript : système de notation

noanis


Là je ne te comprends pas, peux tu me donner un exemple.
Merci.
jeudi 7 octobre 2010 à 13:08:28 | Re : Insert dans mysql données php/javascript : système de notation

neigedhiver

Ceci :

Essaye ca :
$sql1 = "INSERT INTO avis (id_annonce,confiance, ponctualite, disponibilite, qualite_prestation, rapport_qualite_prix, date_avis)
VALUES ('".$_POST['id']."','".$_POST['confiance']."','".$_POST['ponctualite']."', '".$_POST['disponibilite']."','".$_POST['qualite_prestation']."','".$_POST['rapport_qp']."',NOW())";


est dangereux. Tu DOIS protéger les variables $_POST avec mysql_real_escape_string. Cf la doc PHP à ce sujet.

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
jeudi 7 octobre 2010 à 15:37:08 | Re : Insert dans mysql données php/javascript : système de notation

noanis

Entendu ,je fais les modifications, mais concernant le fait que je n'ai que des 0 insérer dans ma base ? Quelqu'un a t-il une réponse ?
Merci.

1 2 3

Cette discussion est classée dans : php, notice, index, in, undefined


Répondre à ce message

Sujets en rapport avec ce message

$val['nom'] vs. $val[0] - MySQL [ par webdesignasp ] salut,qq'un sait-il utiliser :while($val=mysql_fetch_array($res,$bdd)) { $code = $val['code']; $nom = $val['nom'] Notice: Undefined index: [ par bobkorn ] bonjour dans un formulaire.php j'ai le code suivant : [code=html] check N Version date Change </th Notice: Undefined index please help [ par bobkorn ] bonjour dans un formulaire.php j'ai le code suivant : [code=html] check N Version date Change </ Notice: Undefined offset: 1 in C:\wamp\www\Nouveau dossier\panier.php on line 23 [ par etincelle01 ] Bonjour, J'essaie de faire un panier en php en utilisant les sessions. J'ai une page page panier.php qui affiche les produits ajoutés au panier, mais easyphp v 1.6 ---> v 1.7 [ par szteam ] alors la je suis sur le cul sa fait un moment ke g pa programmer en php et voila je mi remet avec notamen en proger la reticfication de bug ds mon scr Message bizarre "Notice: Undefined offset: 4" liée à la taille d'un index ? [ par EricLeGrand77 ] J'obtiens ces messages..."Notice: Undefined offset: 4" "Notice: Undefined offset: 5""Notice: Undefined offset: 6""Notice: Undefined offset: 7"... aprè Probleme bizar... [ par VooDooS ] Voila, j'ais créé un formulaire permettant aux memebres de mon site demodifier leurs info, j'ais donc fais une requete SQL pour que dans les champs le Gros souci avec un formulaire erreur Notice: Undefined index [ par creck ] Bonjour, j'ai un probleme avec l'envoi d'un formulaire. Je n'arrive pas à récuperer les valeurs des champs de ce formulaire.Je precise que je suis un Notice: Undefined index [ par RoX5 ] Bonjour,   J'ai un problème: Notice: Undefined index: lang in F:\web\test\www\index.php on line 2il me met sa quand je regarde mon script sur mon pti probleme Notice: Undefined index [ par tonypsg ] Bonjour, Je souhaite faire un forumlaire donc pour l 'instant j essaie des petits programmes avec base de donnée donc voici un exemple : [QUOTE]// ON


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales