secur_b | Bonjour,
A l'aide de ce code je créer un formulaire pour recuperer des données et les stockées dans une table
cette page affiche plusieurs champs ue je souhaite valider pour le stockage, à l'aide de checkbox.
Mon problème est que les checkboxes ne fonctionnent pas, c'est la fonction Foreach qui ne fonctionne pas et que je ne sais pas programmer correctement.
Code :
- <?php
- // on se connecte à MySQL
- $db = mysql_connect('localhost', 'root', 'oups');
- // on sélectionne la base
- mysql_select_db('test',$db);
- // on crée la requête SQL
- $sql = 'SELECT id, nom_1, nom_2, nom_3, nom_4 FROM testbox';
- // on envoie la requête
- $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
- ?>
- <form method="POST" action="add_a.php">
- <table bgcolor='#FFFFCC' width="50%" border="1" cellspacing="1" cellpadding="1">
- <?php
- // on fait une boucle qui va faire un tour pour chaque enregistrement
- $alt=0;
- while($data = mysql_fetch_assoc($req))
- {
- $alt%=2;
- // on affiche les informations de l'enregistrement en cours
- // on traite la valeur de la case cochée
- $tab = array('ok');
- foreach($tab as $val)
- {
- ?>
- <tr>
- <td><input type="text" name="id" size="6" value="<?php echo $data['id']; ?>" /></td>
- <td><input type="text" name="nom_1" size="6" value="<?php echo $data['nom_1']; ?>" /></td>
- <td><input type="text" name="nom_2" size="6" value="<?php echo $data['nom_2']; ?>" /></td>
- <td><input type="text" name="nom_3" size="6" value="<?php echo $data['nom_3']; ?>" /></td>
- <td><input type="text" name="nom_4" size="6" value="<?php echo $data['nom_4']; ?>" /></td>
- <td><input type="checkbox" name="tab[]" value="<?php echo $val; ?> " /><?php echo $val; ?><br /></td>
- </tr>
-
- <?php
- $alt++;
- }//end while
- }// end foreach
- mysql_close();// on ferme la connexion à mysql
- //end if
- ?>
- </table>
- <input type="submit" value="Envoyer" name="envoyer">
|
La, c'est le code de traitement du formulaire si dessus.
Code :
- <?php
- // On commence par récupérer les champs
- if(isset($_POST['id'])) $id=$_POST['id'];
- else $id="";
- if(isset($_POST['nom_1'])) $nom_1=$_POST['nom_1'];
- else $nom_1="";
- if(isset($_POST['nom_2'])) $nom_2=$_POST['nom_2'];
- else $nom_2="";
- if(isset($_POST['nom_3'])) $nom_3=$_POST['nom_3'];
- else $nom_3="";
- if(isset($_POST['nom_4'])) $nom_4=$_POST['nom_4'];
- else $nom_4="";
- if(isset($_POST['val'])) $val=$_POST['val'];
- else $val="";
- // connexion à la base
- $db = mysql_connect('localhost', 'root', 'maelle') or die('Erreur de connexion '.mysql_error());
- // sélection de la base
- mysql_select_db('test',$db) or die('Erreur de selection '.mysql_error());
-
- // on écrit la requête sql
- $sql = "INSERT INTO testboxrecept (id, nom_1, nom_2, nom_3, nom_4) VALUES('', '$nom_1', '$nom_2', '$nom_3', '$nom_4')";
-
- // on insère les informations du formulaire dans la table
- mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
- // on affiche le résultat pour le visiteur
- echo 'Vos infos on été ajoutées.';
- mysql_close(); // on ferme la connexion
- ?>
|
|