Probleme php et bd

Résolu/Fermé
Kentin76250 Messages postés 235 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 12 novembre 2014 - 25 mai 2009 à 15:22
Kentin76250 Messages postés 235 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 12 novembre 2014 - 29 mai 2009 à 15:44
Bonjour,

Je fais des enquêtes de satisfactions mais je me trouve face à un petit problème.
Donc je viens vous trouvez afin de m'aider dans ma quêtes.
Je vous mon code.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Enquête</title>
</head>
<body>
<p align="right" >Service Qualité GC </p>
<p align="right">Enquête suite Dépannage Contrat V09 mars2009 </p>
<div align="right">
<p></p>
<p></p>
</div>
<p align=left>Vous avez sollicité l’intervention de l’entreprise «PRESTATAIRE», pour effectuer une dépannage dans votre logement. Des travaux ont été réalisés par cette entreprise en «MOIS» 2009.
Afin de déterminer si nous avons répondu à vos attentes et de suivre au plus près l’activité des entreprises que nous mandatons, nous vous remercions de remplir le questionnaire ci-dessous, dès que les travaux auront été réalisés.
Vous pouvez remettre ce questionnaire à votre Correspondant, le transmettre à votre antenne de gestion locative, ou au service qualité de LOGISEINE, 1 place des coquets B.P 168, 76135 Mont Saint Aignan cedex. </p>
<p></p>
<p></p>

<strong>Globalement</strong>, êtes-vous satisfait de <strong>l'intervention réalisée par l'entreprise</strong>?
<form method="GET" action="recupenquete.php">

<p>Très Satisfait
<input type="radio" name="satis">
Satisfait
<input type="radio" name="satis">
Insatisfait
<input type="radio" name="satis">
Très insatisfait
<input type="radio" name="satis">
</p></form>


<strong>Suite à votre appel, l'entreprise est intervenue au bout de :</strong>

<form method="GET" action="recupenquete.php">

<p>Au bout de 1jour
<input type="radio" name="jour">
Au bout de 2jours
<input type="radio" name="jour">
Au bout de 3jours
<input type="radio" name="jour"><td></td>
<p>ou plus
<input type="radio" name="jour">
</form>
</p>
</p>
<p><strong>L'entreprise</strong> a-t-elle pris rendez-vous avec vous?

<form method="GET" action="recupenquete.php">

<input type="radio" name="rep">
OUI

<input type="radio" name="rep">
NON </p></form>
<p><strong>Si oui</strong>, a-t-elle respecté ce rendez-vous ?
<form method="GET" action="recupenquete.php">

OUI
<input type="radio" name="rep">
NON
<input type="radio" name="rep">
</form>
</p>
<p>

<strong>Si vous avez repondu non</strong> à la précédente question, est-ce que <strong>l'entreprise</strong>:
</p>
<li>a <strong>eu du retard</strong>,</li>
<li><strong>n'est pas venue</strong> ce rendez-vous. </li>
<p><strong>Si les intervenants de l'entreprise</strong> ont eu du retard, vous ont-ils informé de ce retard?
<form method="GET" action="recupenquete.php">


OUI
<input type="radio" name="rep">
NON
<input type="radio" name="rep">
</form>
</p>
<p>
<strong>Les intervenants de l'entreprise</strong> se sont-ils présentés en tenur correcte, ont été
aimables, ont respecté vos biens, ont nettoyé le chantier après l'intervention?
<form method="GET" action="recupenquete.php">

OUI
<input type="radio" name="rep">
NON
<input type="radio" name="rep">
</form>
</p>
<p><strong>Les intervenants de l'entreprise</strong> ont-ils utilisé vos outils ou matériels (hors eau et électricié) ?
<form method="GET" action="recupenquete.php">

OUI
<input type="radio" name="rep">
NON
<input type="radio" name="rep">
</form>
</p>


<p>Votre problème technique a-t-elle été résolu <strong>dès la première intervention </strong>?</p>
<form method="GET" action="recupenquete.php">

OUI
<input type="radio" name="rep">
NON
<input type="radio" name="rep">
</form>
<p></p>
Vos remarques:
<p></p>

<form method="GET" action="recupenquete.php">
</form>
<textarea name="remarque" cols="100" rows="10"></textarea>
<p></p>

<p></p>

Merci de bien avoir voulu repondre a ce questionnaire.

<input type="submit" value="Envoyer">
</form>
</body></html>

voila celui ci est le formulaire et donc normalement quand l'on clique sur le bouton envoyer il nous envoi sur cette page ci-dessous :


<?php
$connexion=mysql_connect("localhost","root") or die("Désolé, connexion au serveur impossible...");
//connexion à la base de données
$bd=mysql_select_db('logiseine', $connexion) or die("Désolé, connexion à la base impossible...");
//écriture et stockage d'une requête dans une variable
$satif=$_GET['satif'];
$rep=$_GET['rep'];
$jour=$_GET['jour'];

$sql="insert into enquete (satif,rep, jour)
values ( '$satif', '$rep','$jour')";


$resultat=mysql_query($sql) or die("Désolé, cette requête ne fonctionne pas...");
echo "Vos réponses ont bien été prise en compte. Merci de votre patience";

echo '<a href="thedefault.php">Retour </a>';
mysql_close($connexion);
?>

donc avec ce code il devrait m'inserer les reponses que l'utilisateur a coché?

mais il semblerait que le bouton envoyer soit desactivé car meme en cliquant dessus rien ne ce passe.

21 réponses

pyschopathe Messages postés 1973 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
26 mai 2009 à 12:03
Tu obtiens ce message parce que $_POST['rep6'] n'existe pas.
1
Pour compléter ce message, c'est que tu n'as pas déclaré de variable de nom "rep6".
0
pyschopathe Messages postés 1973 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
25 mai 2009 à 15:38
Pourquoi tu fais 25 formulaires ? Tu n'en as besoin que d'un... De plus, tu n'as qu'un bouton submit (à la fin)alors que pour soumettre les données d'un formulaire il faut cliquer sur le bouton submit qui lui est associé. Dans ces circonstances, il est normal que la validation de ton formulaire ne te renvoie aucune donnée...
0
Tout simplement

<form name="nomFormulaire" action="page" method="post">
<input type ..>
<input type ..>
<input type ..>
</form>
0
Kentin76250 Messages postés 235 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 12 novembre 2014 5
25 mai 2009 à 15:56
oui mais en fesant ca comment je fais pour differencier tous les boutons

je m'explique si je ne met qu'un <form.......> au début et un </form> à la fin.
Les boutons oui ou non je leurs met comme nom name="rep".
Jusque la vous me suivez? ^^

donc quand je vais cliquer sur oui et que ensuite je clique sur un oui plus bas, un seul des oui seront coché
0
pyschopathe Messages postés 1973 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
25 mai 2009 à 16:10
Il faut changer les noms...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Les radio button marchent par groupe en fonction du nom.
Si tu veux créer un autre "ensemble" de radio button, il suffit simplement de leur donner un autre nom.

<input type="radio" name="rep1" value="oui">
<input type="radio" name="rep1" value="non">
<input type="radio" name="rep2" value="oui">
<input type="radio" name="rep2" value="non">


Apprendre à chercher sur Internet. ;)
0
Kentin76250 Messages postés 235 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 12 novembre 2014 5
25 mai 2009 à 16:15
oki je sais très bien que c'est comme ca mais lol j'avais pas mis value et donc oui.*


j'ai compris je test ca de suite
0
Kentin76250 Messages postés 235 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 12 novembre 2014 5
26 mai 2009 à 09:33
merci j'ai changé deux trois trucs et ca marche merci de votre aide..(déclaration d'autres variables entre autres)

Eh! j'ai cherché sur internet mais je préfére les réponses rapide et discuter directement avec des personnes connectés^^.
0
Kentin76250 Messages postés 235 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 12 novembre 2014 5
26 mai 2009 à 11:58
autre question voila je voudrais vérifier si le formulaire est complet donc j'ai fait ceci :

<?php

$connexion=mysql_connect("localhost","root") or die("Désolé, connexion au serveur impossible...");
//connexion à la base de données
$bd=mysql_select_db('logiseine', $connexion) or die("Désolé, connexion à la base impossible...");
//écriture et stockage d'une requête dans une variable
$satif=$_GET['satif'];
$rep=$_GET['rep'];
$rep2=$_GET['rep2'];
$rep3=$_GET['rep3'];
$rep4=$_GET['rep4'];
$rep5=$_GET['rep5'];
$rep6=$_GET['rep6'];
$jour=$_GET['jour'];

if(!isset($rep))
{
echo "Merci de nous renseigner votre <strong>Nom</strong>";
}
elseif(!isset($rep2))
{
echo "Merci de nous renseigner votre <strong>Contact</strong>";
}
elseif(!isset($rep3))
{
echo "Merci de nous renseigner votre <strong>Code Postal</strong>";
}
elseif(!isset($rep4))
{
echo "Merci de renseigner la reponse 4";
}
elseif (!isset($rep5))
{
echo " merci de renseigner 5";
}
elseif (!isset($rep6))
{
echo"ememem";
}
elseif (!isset($satif))
{
echo"ememjjjem";
}
elseif (!isset($jour))
{
echo"empppmem";
}
else
{
//requête sql permettant d'inserer de nouvelles valeurs dans la table enquête
$sql="insert into enquete (satif, rep, rep2, rep3, rep4, rep5, rep6, jour)
values ( '$satif', '$rep', '$rep2', '$rep3', '$rep4', '$rep5','$rep6','$jour')";


//si problème dans la requête alors déso....sinon afficher vos rép....
$resultat=mysql_query($sql) or die("Désolé, cette requête ne fonctionne pas...");
echo "Vos réponses ont bien été prise en compte. Merci de votre patience";}
//lien vers la page d'accueil
echo '<a href="recupform.php">Retour </a>';
mysql_close($connexion);
?>


et le problème c'est que j'ai un message d'erreur qui est celui ci:

Notice: Undefined index: rep6 in c:\program files\easyphp1-8\www\logiseine\fr\html\recupenquete.php on line 13
emememRetour

voila je pense que c'est un tout petit truc. Dans ma base de données rep6 est bien declaré


Merci d'avance
0
Kentin76250 Messages postés 235 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 12 novembre 2014 5
26 mai 2009 à 13:17
be je l'ai déclaré dans ma BD pourtant.

Si je ne répond a rien, ca me met Undefined index sur tout.
C'est depuis que j'ai mis la vérification pour ne pas avoir de champs vides.
Mais avant cela passé bien.
0
C'est dans ton formulaire que rep6 n'est pas déclaré, pas dans ta base! :)
0
Kentin76250 Messages postés 235 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 12 novembre 2014 5
26 mai 2009 à 13:19
argh je suis perdu je ne trouve pas peux tu m'aider s'il te plaît si tu sais ou c'est.

Peut-être devrais je faire une autre page pour prendre cette vérification non? en tout cas j'essai
0
pyschopathe Messages postés 1973 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
26 mai 2009 à 13:52
Tu n'as pas de champ dont l'attribut name vaut rep6 dans ton formulaire.
0
Kentin76250 Messages postés 235 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 12 novembre 2014 5
26 mai 2009 à 13:58
ah j'ai compris oui donc oui s'il n'ait pas rempli il me met ca comme erreur mais j'aurais aimé qu'il me dise a la place que le champs n'est pas rempli que undefined index enfin je sais pas si tu vois ce que je veux promis après j'arrête de vous t'embettez ^^.

Je pense que la vérification ne doit pas être bien placée
0
pyschopathe Messages postés 1973 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
26 mai 2009 à 16:49
undefined index signifie indice inexistant, l'erreur est claire. Cela dit, il ne s'agit pas d'une erreur mais d'un warning je suppose, donc tu n'es pas obligé de corriger si ton code est pensé en conséquence.
0
Kentin76250 Messages postés 235 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 12 novembre 2014 5
28 mai 2009 à 09:37
Bonjour,

Oki merci beaucoup ca m'a aidé pour d'autres formulaire. Pour celui si, il est pensé en conséquence donc je vous remerci et je viens d'optez pour ne pas montrer ceci aux utilisateurs pour un checked^^ pas besoin de faire une vérification du coup cool ^^ ou feignant??
En tout cas merci pour votre temps passés with me ^^



Bonne journée
0
pyschopathe Messages postés 1973 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
28 mai 2009 à 15:02
D'une manière générale, une fois l'applciation en production, il vaut mieux éviter d'afficher les erreurs, et à plus forte raison les warnings. En effet, ceux-ci peuvent fournir des indications sur l'architecture et le fonctionnement de l'applciation, qui pourraient être utilisées par quelqu'un de malveillant.
0
Kentin76250 Messages postés 235 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 12 novembre 2014 5
28 mai 2009 à 10:11
Bonjour,

J'ai répondu mais euh pas de reponse à moi tampisj'avais fait un roman^^ donc euh merci beaucoup pour votre aide et à bientot.

Mon code était bon mais j'ai opté pour un checked pas con en faite mdr

Merci encore.

A+
0
Kentin76250 Messages postés 235 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 12 novembre 2014 5
29 mai 2009 à 15:05
oui psy c'est pour cela que j'ai opter pour un checked^^
plus besoin de vérif

bon sujet clos je pense ^^
0
pyschopathe Messages postés 1973 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
29 mai 2009 à 15:07
Pas compris ton histoire de checked, tu peux faire voir le code stp...
0
Kentin76250 Messages postés 235 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 12 novembre 2014 5
29 mai 2009 à 15:11
en gros ce checked sert à cocher les boutons radio par default donc une valeur est rentrée obligatoirement donc pas de vérif mais ce n'est que des boutons radios^^
0
pyschopathe Messages postés 1973 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
29 mai 2009 à 15:19
Il faut quand même faire une vérif puisque n'importe quelles données peuvent être passées au script de récupération (pas seulement celles prévues par le formulaire).
0
Kentin76250 Messages postés 235 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 12 novembre 2014 5
29 mai 2009 à 15:27
hein??

mais ils ne peuvent cocher autre que un des deux boutons par question donc pourquoi en faire une de vérif?
0
pyschopathe Messages postés 1973 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
29 mai 2009 à 15:29
Parce qu'on peut envoyer des données à ton script sans passer par le formulaire. C'est une règle : vérifie toujours toutes les données qui viennent de l'utilisateur. Toujours !
0
Kentin76250 Messages postés 235 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 12 novembre 2014 5
29 mai 2009 à 15:31
oki no souci je remet mon script mais j'ai toujours le truc que je comprend pas qui se trouve plus haut.
J'ai toujours le warning mais euh pourtant c'est good mais euh la je bloque^^..
0
Kentin76250 Messages postés 235 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 12 novembre 2014 5
29 mai 2009 à 15:34
bon c'est good psy lol.
J'avais mal mis ma parenthese pour fermer la vérif donc c'est normal que j'avais des WARNNNIINNGG
donc bon maintenant ca marche ^^
0
pyschopathe Messages postés 1973 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
29 mai 2009 à 15:35
Pour éviter le warning, tu fais simplement
if (isset( $_POST['rep6'] ) ) {
  $rep6 = $_POST['rep6'];
  /* Vérification de la validité */
  /* dans ton cas, tu vérifies que l'option corresponde bien à un des choix possibles */
} else $rep6 = 'valeur par défaut';
0