Page 1 sur 1

Probléme de transfére de donnée entre les pages

Posté : 07 août 2007, 12:09
par cyberneo
Bonjour a tous,
voila le probléme:
- j'ai un formulaire pour enregistrer une nouvel procedure,
-celui-ci contien une petite partie de script php permettant de selectionner dans une table une liste dinformation (en l'occurrance la liste des utilisateur)
-celle-ci constitue le contenu d'une liste (<select>)
-une fois l'information selectionner lorsque l'utilisateur valide toute les information des champs et envoyer sauf celle contenu dans les liste
-cette methode marche sur d'autre page d'ailleur la premiere liste pour les logiciel fonctionne trés bien
-toute les information des autre champ sont effectivement envoyer et lenregistrés dans les différente table utlisé, mais seul la table privilege_soft ne se rempli pas, aprés quelque test j'ai constaté que les informaion n'été pas envoyé.

Merci pour votre aide,
PS: je vous join 2 code
- parti formulaire
- page d'enregistrement dans les tables

Code : Tout sélectionner

<form action="entrer_prob_logi_scr.php" method='post'> <table align="center" border="0"> <tr> <td>Description</td> <td><TEXTAREA name="description" rows="4" cols="75" ></TEXTAREA></td> </tr> <tr> <td>Logiciel</td> //////////////////////////////////// //Celle la fonctionne /// /////////////////////////////////// <?php echo '<td>'; //On recupere la liste de selection du logiciel $sql_list = "select soft_num, soft_description from software"; $res_list=mysql_query($sql_list)or die(mysql_error()); echo '<select name=logiciel>'; while ($row_list_values = mysql_fetch_assoc($res_list)) { echo '<option value="'.$row_list_values['soft_num'].'">'.$row_list_values['soft_description'].'</option>'; } echo '</select>'; echo'</td>'; ?> <tr> <td>Procédure de résolution</td> <td><TEXTAREA name="procedure" rows="35" cols="75"></TEXTAREA></td> </tr> <tr> //////////////////////////////////// //Celle la non /// /////////////////////////////////// <?php echo '<td>Selectionné la personne qui devra donner son approbation pour cette procedure</td>'; echo '<td>'; //on recupere la liste d'utilisateur $sql_list="select util_num, util_nom, util_prenom from utilisateur"; $res_list=mysql_query($sql_list) or die (mysql_error()); echo '<select name=approb>'; while ($row_list_values = mysql_fetch_assoc($res_list)) { echo '<option value="'.$row_list_values['num_util'].'">'.$row_list_values['util_nom'].'</option>'; } echo '</select>'; echo'</td>'; ?>[/size][/b] </tr> /////////////////////////////// ///Celle la non plus //////// ////////////////////////////// <tr> <?php echo '<td>Selectionné la personne qui devra valider cette procedure</td>'; echo '<td>'; //on recupere la liste d'utilisateur $sql_list="select util_num, util_nom, util_prenom from utilisateur"; $res_list=mysql_query($sql_list) or die (mysql_error()); echo '<select name=valid>'; while ($row_list_values = mysql_fetch_assoc($res_list)) { echo '<option value="'.$row_list_values['num_util'].'">'.$row_list_values['util_nom'].'</option>'; } echo '</select>'; echo'</td>'; ?> </tr> <tr> <td colspan="2" align="center"><input type="submit" value="Modifier"></td> </tr> </table> </form>

Code : Tout sélectionner

//coté page d'enregistrement des information <?php //$str est la chaîne de caractères et $nb le nombre de caractères maximum à afficher. @session_start(); /* Open session */ $description = $_POST['description']; $logiciel = $_POST['logiciel']; $user = $_SESSION['login']; $host = 'localhost'; $bdd = 'basedsidt'; $procedure= $_POST['procedure']; $approb = $_POST['approb']; $valid=$_POST['valid']; if (empty($description)) { echo '<div id=content>'; echo "Vous n'avez pas entré de description"; echo '</div>'; include('Entrer_prob_logi.php'); } else if (empty($procedure)) { echo '<div id=content>'; echo "Vous n'avez pas entré le procédure de résolution"; echo '</div>'; include('Entrer_prob_logi.php'); } else { //connexion au serveur mysql $connect = mysql_connect($host,'root',''); // on sélectionne la base mysql_select_db($bdd,$connect); //on selectionne le num de l'utilisateur $sql="select util_num from utilisateur where util_login='".$user."'"; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); $data = mysql_fetch_assoc($req); $numutil=$data['util_num']; //on précise a mysql que ce qui est envoyé et une chaine de caractére et peut contenir des ' il ajoutera des \ devant automatiquement $description=addslashes($description); $procedure=addslashes($procedure); // onn se connect au serveur mysql $connect = mysql_connect($host,'root',''); // on sélectionne la base mysql_select_db($bdd,$connect); //mise a jour des tables //enregistrements des informations dans la table pb_soft $sql = "INSERT INTO pb_soft(pb_s_soft,pb_s_description,soft_num,util_num) VALUES('','$description','$logiciel','$numutil')"; $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); //recupération de la clé identifiant le probléme $pb_s_soft = mysql_insert_id(); //enregistrement des informations dans la table privilége soft $sql = "INSERT INTO privilege_soft (priv_s_num, priv_valid_s_util_num, priv_approb_s_util_num, util_num) values ('','$valid','$approb','$numutil')"; //recupération de la clé identifiant les priviléges $priv_s_num = mysql_insert_id(); //enregistrement des informations dans la table proc_soft $sql = "INSERT INTO proc_soft (proc_s_num,priv_s_num, util_num, proc_s_description) values ('','$priv_s_num','$numutil','$description')"; $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); //recupération de la clé identifiant la procédure $proc_s_num = mysql_insert_id(); //enregistrement des informations dans la table relation_soft_pb $sql = "INSERT INTO relation_soft_pb (rela_s_num, proc_s_num, pb_s_num) values ('','$proc_s_num','$pb_s_soft')"; $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); echo "'$valid','$approb','$numutil'"; //header('Location: entrer_prob_logi.php'); } ?>

Posté : 07 août 2007, 13:26
par Ryle
Peut être parce que la requête sql d'insertion n'est pas exécutée ?