Dans l'application dont je m'occupe, il y a un formulaire qui affiche une liste de clients à sauvegarder dans une campagne. Les boutons pour sauvegarder les clients se trouvent en bas de page, et il m'a été demandé de les dupliquer en haut de page. Rien de bien compliqué, sauf que...
Pour sauvegarder des clients dans une campagne existante, pas de problème.
Mais pour sauvegarder des clients dans une nouvelle campagne, là, ca plante.
Le problème vient du fait que les testeurs sont bien sauvegardés dans cette campagne, mais le champ contenu dans la zone de texte utilisé pour le nom de la nouvelle campagne n'est pas envoyé, et donc on se retrouve avec des campagnes fantômes...
J'ai simplement dupliqué le code du bas de page pour le haut de page, mais je ne vois pas où est le problème.
Voila le code :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 //haut de page <form method="post" action="listeClients2.php" name="formChoisirCampagne" class="cssform"> <p><label for="all" class="check">Sélectionner tout</label><input type="checkbox" name="all" id="all" onclick="this.value=check(this.form)" /></p> <?php //SAUVEGARDE DES CLIENTS $listeCampagnes = execute("SELECT * FROM Campagne ORDER BY NumCampagne DESC"); ?><p> <label class="grandRech" for="campagne">Sauvegarder dans une campagne existante : </label> <select name="campagne" id="campagne" class="grandRech"> <?php while ($client = mysql_fetch_array($listeCampagnes)) { echo'<option value="'.$client['NumCampagne'].'">'.$client['NomCampagne'].'</option>'; } ?></select> <input type="submit" value="OK" /> </p> <p> <label class="grandRech" for="newCampagne">Créer une nouvelle campagne : </label> <input type="text" name="newCampagne" id="newCampagne" class="grandRech" /> <input type="submit" value="OK"/> <p>*(format: test/focus+nom de l offre)</p> </p> // selection des clients while ($client = mysql_fetch_array($resultat)){ $numTesteur=$client['NumTesteur']; echo "<input type=\"checkbox\" class=\"check\" name=\"selection[]\" value=\"$numTesteur\" />"; //bas de page //SAUVEGARDE DES CLIENTS $listeCampagnes = execute("SELECT * FROM Campagne ORDER BY NumCampagne DESC"); ?><p> <label class="grandRech" for="campagne">Sauvegarder dans une campagne existante : </label> <select name="campagne" id="campagne" class="grandRech"> <?php while ($client = mysql_fetch_array($listeCampagnes)) { echo'<option value="'.$client['NumCampagne'].'">'.$client['NomCampagne'].'</option>'; } ?></select> <input type="submit" value="OK" /> </p> <p> <label class="grandRech" for="newCampagne">Créer une nouvelle campagne : </label> <input type="text" name="newCampagne" id="newCampagne" class="grandRech" /> <input type="submit" value="OK"/> <p>(format: test/focus+nom de l offre)</p> </p> </form>
et la page ou s'effectue les sauvegardes...
Avez vous une solution pour pouvoir envoyer correctement le texte saisi dans la zone de texte pour une nouvelle campagne, situé en haut de page?
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 if (isset($_POST['campagne']) && $_POST['campagne']!='') $numCampagne = $_POST['campagne']; if (isset($_POST['newCampagne']) && $_POST['newCampagne'] != '') { mysql_query("INSERT INTO Campagne (NomCampagne) VALUES('".$_POST['newCampagne']."')"); $numCampagne = mysql_insert_id(); } if (isset($_POST['selection']) && $_POST['selection'] != "") { foreach($_POST['selection'] as $tab => $numTesteur){ mysql_query("INSERT INTO campagne_testeur (NumCampagne, NumTesteur) VALUES ($numCampagne, $numTesteur)"); executer("UPDATE testeur SET enCampagne = 1 WHERE NumTesteur = $numTesteur"); }
![]()
Partager