Pb avec mis à jour d bouton d'option + check

[Résolu]
Signaler
Messages postés
71
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
3 août 2005
-
Messages postés
71
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
3 août 2005
-
Bonjour, Je suis nouvelle sur le forum et je sui tt aussi novice en php.Je veins auprès de mes confrères et consoeurs developpeur demander de l'aide.

J'ai un formulaire sur lequel je traite les informations concernant les langues.En fait, je suis en plein dévéloppement d'un site sur les recrutement en php et je bocle.
Sur le formulaire, j'y est mise des cases à cocher puis des checkbox, là n'est pas le pb.
Le problème se trouve qd je dois faire l'enregistrement, en fait je veux que dans la table où je vais le faire le code de la langue également s'enregsitre ainsi que le reste des options que j'ai coché. Slmt c'est le cas, pcq quand je coche les 2 checkbox il y'a un message identique à ceci qui s'affiche et ds ma table je ne retrouve que le 1er acocher et je ne retrouve pas le code de ma langue.

le code est identique à ceci :
<? 
// CONNEXION A LA BASE DE DONNEES
include ("connexion_eurocall.php");
$id = MYSQL_CONNECT($host,$user,$pass);
mysql_select_db("$bdd"); 
echo "Connexion &#233;tablit avec la BD";  
//FIN DE CONNEXION


$degre_mait_lang=$_POST['degre_mait_lang'];
$mode_mait_lang=$_POST['mode_mait_lang'];
$Submit=$_POST['Submit'];
/*if($autre!="") {
 $intitule_dom=$autre;
 }*/
 if (isset($_POST['Submit'])) 
 if (isset($_POST['degre_mait_lang']))
 if (isset($_POST['mode_mait_lang']))
 if (is_array($_POST['mode_mait_lang']))


    { foreach($_POST['mode_mait_lang'] as $choix) 
      { echo "Choix utilisateur pour la ma&#238;trise de la langue est : ",$choix,"
";
        // $query= "SELECT code_langue FROM langue Where ";
       $sql="INSERT into parle(degre_mait_lang,mode_mait_lang) 
       VALUES('$degre_mait_lang','$choix')";
      // on ins&#232;re les informations du formulaire dans la table 
                // $execute = mysql_query($sql) or die(mysql_error()); 


     print('Ton information a &#233;t&#233; ajout&#233; correctement !!!.

'); 
     
// d&#233;connexion &#224; la base
    mysql_close();
 }
 }
?>

</html>


Le message est :
Connexion &#233;tablit avec la BDChoix utilisateur pour la ma&#238;trise de la langue est : Ecrit


Ton information a &#233;t&#233; ajout&#233; correctement !!!.


Choix utilisateur pour la ma&#238;trise de la langue est : Oral

Warning: mysql_query(): Acc&#232;s refus&#233; pour l'utilisateur: 'ODBC'@'@localhost' (mot de passe: NON) in c:\program files\easyphp1-8\www\site_recrutemnt\ajout_connaissance_linguistique.php on line 36

Warning: mysql_query(): A link to the server could not be established in c:\program files\easyphp1-8\www\site_recrutemnt\ajout_connaissance_linguistique.php on line 36
Acc&#232;s refus&#233; pour l'utilisateur: 'ODBC'@'@localhost' (mot de passe: NON)


Merci de m'aider à résoudre ce pb

12 réponses

Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Hello,



tu fermes la connexion a ta base DANS ta boucle.

Il faut que tu la fermes hors de ta boucle...sinon voila ce qui se passe sur ton script, dans l'ordre :

- connexion a la base

- test formulaire

- recuperation des variables $_POST (pourquoi...?)

- test du tableau contenant les checkboxes

- foreach pour parcourir ce tableau. Dans cette boucle, tu fais :

- affichage des infos

- insertion dans la base

- on ferme la connexion...

- retour a la prochaine iteration de ta boucle

- affichage des infos

- insertion dans la bas...ah merde, elle est fermee,
et on ne l'a pas reouverte! Donc php t'insulte, c'est normal ;-)
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Tu as ce que tu mets la qui s'affiche ? Tu dois avoir un probleme avec un guillemet quelquepart, juste avant ce qui s'affiche la.
Messages postés
71
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
3 août 2005

Ben je viens juste de sortir la dernière instruction c'est à dire celle de la déconnexion à la bd; et les messages d'enregsitrement s'affiche c'est à dire ceux ci:


 
Choix utilisateur pour la ma&#238;trise de la langue est : Ecrit


Ton information a &#233;t&#233; ajout&#233; correctement !!!.


Choix utilisateur pour la ma&#238;trise de la langue est : Oral


Ton information a &#233;t&#233; ajout&#233; correctement !!!.




Mais il n'enregsitre que celui de la fin , c'est à dire :
Choix utilisateur pour la ma&#238;trise de la langue est : Ecrit


Je ne sais plus pourquoi !
Messages postés
71
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
3 août 2005

Oui çà marche, en fait j'avais oublie d'activer ceci:
 $execute = mysql_query($sql) or die(mysql_error()); 

Slmt, je evux savoir comment je peux faire pour enregistrer le code de la langue qui vient d'être sélectionné. Ou dans ce cas, je ne met pas de langue par défaut ? Si c'est possible ?

Merci pour la réponse.
Messages postés
71
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
3 août 2005

J'ai oublié qqc, je souhaiterais aussi afficher les infos enregistrer sur le même formulaire juste en dessous de la sélection faite.

Je suis désolée de poster autant dequestion chacune à la suite de l'autre , c'est juste que je suis vraiment stressé et j'ai beosin d'aide .
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Hello,



je n'ai pas compris ta 1ere question. L'enregistrer...c'est a dire ?



Quel est le probleme pour afficher les autres infos...?



Tu es tellement stressee que tes questions ne sont pas tres claires lol.
Messages postés
71
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
3 août 2005

En fait le pb était que je ne pouvais pas bien effectuer l'insertion des données de mon formulaire, j'ai réussit pcq j'avais pas remarqué que je me déconnectait dans ma boucle while et par la suite j'avais désactivé l'exécution de ma requete.


Là n'est plus le pb, mon pb est mnt que je désire afficher les réponses de ma requete, c'est à dire de mon insertion juste en dessous des sélections à faire, de telle sorte que la personne qui cochera pourra avant de voir ce qu'elle a marqué et par la suite pouvoir modifier si c'est pas correcte.


Merci d'avance pour votre aide !!!
Car je dois terminer ce travaille d'ici 3 semaines et je suis très en retard.
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Puisque tu inseres, tu as toujours tes variables utilisees pour l'insertion, il te suffit donc de les afficher ?
Messages postés
71
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
3 août 2005

Je viesn d'avoir un gros souci, qd j'esai d'insérer les données dasn la bd, il ne se passe + rien. POurtant jusq'à hier osir tt allait bien.
Il y'a ceci qui s'affiche, je ne sais pas pourquoi !

"; $sql= "INSERT into parle (code_langue,degre_mait_lang,mode_mait_lang) VALUES ('$code_langue','$degre_mait_lang','$choix')"; // on ins&#232;re les informations du formulaire dans la table mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error()); print(' 
Ton information a &#233;t&#233; ajout&#233; correctement !!!.

'); } } // d&#233;connexion &#224; la base mysql_close(); ?> 


2ème pb
En fait pour l'affichage en dessous sur le même formulaire des infos je n'y arrive pas. C'st pourquoi je demande de l'aide.
Mais si on peut traiter chaue pb l'une après l'autre !
Merci encore
Messages postés
71
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
3 août 2005

Et ben je ne le trouve pas et le pire c'est que c'était comme çà avant et çà marchait très bien!

Voici le code de la page de traitement ajout_connaisance_linguistique.php
<?
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>


                              
<? 
if ($_POST['code_langue'] == "Allemand") { $code_langue= 1; } 
else if ($_POST['code_langue']== "Anglais") {$code_langue= 2; }
  else if ($_POST['code_langue'] == "Arabe") { $code_langue= 3; }
   else if ($_POST['code_langue']=="Bulgare") { $code_langue=4; }
     else if  ($_POST['code_langue']=="Chinois") { $code_langue=5; }
       else if ($_POST['code_langue'] == "Croate") { $code_langue= 6; }
          else if ($_POST['code_langue']== "Danois") {$code_langue= 7; }
  
         else if ($_POST['code_langue']=="Espagnol") { $code_langue=8; }
        else if  ($_POST['code_langue']=="Finois") { $code_langue=9; }
        else if ($_POST['code_langue']=="Fran&#231;ais") { $code_langue=10;}
       else if ($_POST['code_langue']=="Grec") { $code_langue=12; }
      else if  ($_POST['code_langue']=="Hongrois") { $code_langue=13; }
     else if ($_POST['code_langue']=="Indien") { $code_langue=14; }
    else if  ($_POST['code_langue']=="Islandais") { $code_langue=15; }
   else if  ($_POST['code_langue']=="Italien") { $code_langue=16; }


// CONNEXION A LA BASE DE DONNEES
include ("connexion_eurocall.php");
$id = MYSQL_CONNECT($host,$user,$pass);
mysql_select_db("$bdd"); 
echo "Connexion &#233;tablit avec la BD";  
//FIN DE CONNEXION
$code_langue=$_POST['code_langue'];
$degre_mait_lang=$_POST['degre_mait_lang'];
$mode_mait_lang=$_POST['mode_mait_lang'];
$Submit=$_POST['Submit'];
/*if($autre!="") {
 $intitule_dom=$autre;
 }*/
if(isset($Submit)) {
if (isset($_POST['code_langue']))
// if (isset($_POST['degre_mait_lang']))
 if (is_array($_POST['mode_mait_lang']))
       { foreach($_POST['mode_mait_lang'] as $choix) 
         { echo ("Choix utilisateur pour la ma&#238;trise de la langue est : ",$choix,"
");
   
         $sql= ("INSERT into parle (code_langue,degre_mait_lang,mode_mait_lang) 
           VALUES ('$code_langue','$degre_mait_lang','$choix')");


             // on ins&#232;re les informations du formulaire dans la table 
                mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error()); 
     
      print('Ton information a &#233;t&#233; ajout&#233; correctement !!!.

');  
 }
      }
// d&#233;connexion &#224; la base
   mysql_close();
?>

</html>


Merci de pouvoir m'aidre à retrouver la code manquante
Messages postés
71
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
3 août 2005

J'ai essayer de revoir, sans trouver la moindre faille.Alors j'ai tt arreté et qd j'ai redémarré le serveur, c'est revenu à la normal.
Sur ceu merci à pour ton assistance encore et encore. Alors i vous me demandez c'était dû à quoi je en saurè vous répondre
Messages postés
71
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
3 août 2005

Mnt je veux savoir comment je peux faire pour affaicher les résultats enregsitrer juste en dessous de la sélection après le bouton de validation.