Bonjour,
J'ai un soucis... vous pouvez peut-être éclairer ma lanterne, je ne comprends pas pourquoi mon second formulaire ne s'affiche pas...
Alors je situe le contexte, je viens d'une page sur laquelle j'ai cliqué sur une image, qui me sert de lien vers la page actuelle, tout en récupérant un id afin d'afficher l'image cliquée en première dans un slideshow. Au dos de ces images se trouve un formulaire.
Ici je teste avec 2 images, la première c'est ok mais pour la seconde ce n'est pas le cas.
J'obtiens bien le texte qui doit se trouver dans le formulaire, sauf qu'il n'y a que la balise fermante du second formulaire.
Donc, les parties de code qui nous intéressent
Tout d'abord ouverture de formulaire, à noter que la global $vGlobForm est mise à NULL tout en haut du fichier qui contient les fonctions suivantes
Code : 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 function startForm($args) { global $vGlobForm; $vGlobForm = NULL; $openForm = "<form"; $closeForm = ">"; $vGlobForm .= $openForm; if (!empty($args)) { foreach($args as $key => $value) { $vGlobForm .= ' '.$key.'="'.$value.'"'; } } $vGlobForm .= $closeForm; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 //Fonction fermant un formulaire function endForm() { global $vGlobForm; $vGlobForm .= '</form>'; }A noter ici que les lignes commentées de 52 à 54 sont fonctionnelles...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 //Fonction renvoyant l'intégralité du formulaire function getForm() { global $vGlobForm; return $vGlobForm; }
J'obtiens donc ceci, ou visiblement il me manque le début de mon second formulaire... Une idée ?
Code : 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
48
49
50
51
52
53
54
55
56
57
58
59
60 // Utilisée sur la page Slideshow.php function getPicSlideshow() { dbConnect('mysql','localhost',...Connexion à la DB); global $vGlobConnect; global $vGlobForm; // On vérifie le rôle de l'utilisateur connecté pour la possibilité d'édition du formulaire ModelDescription if ((isset($_SESSION['UserRole'])) && ($_SESSION['UserRole'] == 'Administrateur')) $form = startForm($args = array('class' => 'backfacePic imageAutre visHidden', 'name' => 'ModelDescription', 'contenteditable' => 'false', 'ondblclick' => 'contentUpdate(this.id)' ) ); else $form = startForm($args = array('class' => 'backfacePic imageAutre visHidden', 'name' => 'ModelDescription', 'contenteditable' => 'false' ) ); // On sélectionne tous les "models" $sql = $vGlobConnect->query("CALL `selectModels`();"); // On fetch le résultat de la procédure stockée $tab = $sql->fetchAll(); // On récupère l'indice de l'image sur laquelle l'utilisateur a cliqué sur la page d'index $firstPicModelID = array_search($_GET['picId'], array_column($tab, 'ModelID')); // On affiche l'image en question avec les infos récupérées echo '<img id="'.$firstPicModelID.'" src="'.$tab[$firstPicModelID]['ModelPath'].$tab[$firstPicModelID]['ModelName'].'" alt="'.$tab[$firstPicModelID]['ModelName'].'" class="imageAutre visHidden" title="'.$tab[$firstPicModelID]['ModelName'].'" />'; $vGlobForm .= $form; $vGlobForm .= $tab[$firstPicModelID]['ModelDescription']; endForm(); echo getForm(); // On charge à présent les autres foreach ($tab as $value) { if ($value['ModelID']==$_GET['picId']) continue; $firstPicModelID++; echo '<img id="'.$firstPicModelID.'" src="'.$value['ModelPath'].$value['ModelName'].'" alt="'.$value['ModelName'].'" class="imageAutre visHidden" title="'.$value['ModelName'].'" />'; //echo '<form class="backfacePic imageAutre visHidden" name="ModelDescription" contenteditable="false">'; //echo $value['ModelDescription']; //echo '</form>'; $vGlobForm = $form; echo '<script type="text/javascript">alert("'.$vGlobForm.'")</script>'; $vGlobForm .= $value['ModelDescription']; endForm(); echo getForm(); } $sql->closeCursor(); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <div class="coverSide" id="left"></div> <div class="container" > <div class="slider" > <div class="prev" ></div> <img id="0" src="../images/products/5.jpg" alt="5.jpg" class="imageAutre visHidden" title="5.jpg" /> <form class="backfacePic imageAutre visHidden" name="ModelDescription" contenteditable="false">Test de description</form> <img id="1" src="../images/products/123.jpg" alt="123.jpg" class="imageAutre visHidden" title="123.jpg" />Seconde description</form> <div class="next" ></div> </div> </div> <div class="coverSide" id="right"></div>
Partager