Bonsoir,
je cherche à faire une page en php dans laquel il y a plusieurs onglet et dans ces onglets il y a des formulaires. Les formulaires sont tous les mêmes ils contiennent une zone de saisie et un bouton envoyer. Dans mon fichier traitement.php je cherche à recueillir la saisie de l'utilisateur pour chaque onglet qui a été validé par le bouton envoyer.
J'ai réussi à créer des onglets dynamiques avec chacun une zone de texte et le bouton envoyer mais le problème qui me bloque est lors de la récupération de la saisie de l'utilisateur comment faire pour afficher l'entrée de l'utilisateur qui a été effectué dans le contenu de chaque onglet ?
Pour exemple dans l'onglet on affiche apres avoir cliquer envoyer la sisie entrée dans la zone de texte
Voici mes deux fichiers php, dans le code j'ai dû insérer du Javascript pour pouvoir rendre mes onglets dynamiques.
Voici le contenu de mon fichier formulaire:
----------------
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
61
62
63
64
65
66
67
68
69
70
71
72 <?php session_start(); echo' <!DOCTYPE html> <html> <head> <title>CANDIDAT</title> <link rel="stylesheet" type="text/css" href="style.css"/> </head> <body> <ul class="conteneur-onglets">'; $_POST['nombreExo'] = 8; for ($i=1; $i<=$_POST['nombreExo']; $i++) //affiche les onglets { echo '<li class="inactif onglet" id="affiche-contenu-'. $i .'" onclick="javascript:Affiche(' . $i . ');">Exercice '. $i . '</li>'; } echo'</ul>'; for ($i=1; $i<=$_POST['nombreExo']; $i++) //affiche le contenu des exercices { echo '<div class="contenu" id="contenu_'. $i .'">'; echo '<form action="traitement.php" method="post" id="test' . $i . '">'; echo '<input id="content' . $i . '" name="content[]' . $i . '" type="text" value="Votre reponse"' . $i . '"></input>'; echo '<input type="submit" id="test' . $i . '" value="Envoyer"></input>'; echo '</form>'; echo '</div>' ; } echo'<div id="status"> <!-- //la div ou s\'affichera notre résultat après traitement --> </div>'; ?> <script type="text/javascript"> var Onglet_afficher = 1; function Affiche(Nom) { document.getElementById('affiche-contenu-'+Onglet_afficher).className = 'inactif onglet'; document.getElementById('affiche-contenu-'+Nom).className = 'affiche-contenu-1 onglet'; document.getElementById('contenu_'+Onglet_afficher).style.display = 'none'; document.getElementById('contenu_'+Nom).style.display = 'block'; Onglet_afficher = Nom; } </script> <script type="text/javascript"> //Affiche(Onglet_afficher); </script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> <!-- permet de récupérer sur les serveurs Google la version 2.0.0 de jquery --> <script> $(document).ready(function() { //attend le chargement de la page pour executer le script $( "form" ).submit(function () {//form désigne l'ensemble des formulaires $.post("traitement.php",$(this).serialize(),function(texte){ //(this).serialize() récupère l'ensemble des donnés traité du formulaire EN COURS $("div#status").append(texte); //affiche après traitement le résultat dans la div "status" }); return false; // permet de ne pas recharger la page }); }); </script> </body> </html>";
Et mon fichier traitement.php:
------------
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 <?php include('testsysiphus.php'); //for($i=1 ; $i <= $_SESSION['nombreExo'] ; $i++) //{ if(isset($_POST['content'])) { echo "<p>Vous avez noté dans votre formulaire</p>"; } else{ echo "<p>Votre formulaire ne contient aucun data ou n'a pas été soumis</p>" ; //print_r($i); //print_r($_POST["content$i"]); } //$_POST["content"]. //} /*if(isset($_POST['content2'])){ echo "<p>Vous avez noté ".$_POST['content2']."dans votre Deuxième Formulaire</p>";} else{ echo "<p>Votre formulaire N-2 ne contient aucun data ou n'a pas été soumis</p>"; }*/ /*.print_r($_POST['content']).*/ ?>
Merci pour votre aide.
Partager