Bonjour à tous, bon c'est un peu ambigue mon problème donc voici tout d'abord le code:

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
73
74
75
76
<!DOCTYPE html>
<html>
 
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>sans titre 1</title>
</head>
<body>
 
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>
<?php
$serveur = "localhost";
$base = "xxxx";
$user = "root";
$pass = "xxxx";
 
/*
$mysqli est une nouvelle instance de la classe mysqli
prédéfinie dans php et hérite donc de ses propriétés et méthodes
connexion à la base de données
*/
$mysqli = new mysqli($serveur, $user, $pass, $base);
// si la connexion se fait en UTF-8, sinon ne rien indiquer
$mysqli->set_charset("utf8");
/*
utilisation de la méthode connect_error
qui renvoie un message d'erreur si la connexion échoue
*/
if ($mysqli->connect_error) {
    die('Erreur de connexion ('.$mysqli->connect_errno.')'. $mysqli->connect_error);
}
else {
    //echo 'connexion réussie : '.$mysqli->host_info .'</br>';
}
 
//$id = $_GET['id_test'];
//$choix = $_GET['sous_choix'];
 
$sql2 = "SELECT * ,\n"
    . " CASE `choix_test`\n"
    . " WHEN 'champ_texte' THEN '<input name=\"nom_reponse\" type=\"text\"/>'\n"
    . " WHEN 'zone_email' THEN '<input name=\"reponse_email\" type=\"text\"/>'\n"
    . " WHEN 'liste' THEN '<select name=\"reponse_select\" id=\"select\"><option value=sous_choix[$choix]>sous_choix[$list]</option></select>'\n"
    . " WHEN 'bouton' THEN '<input type=\"radio\" name=\"reponse_radio\" value=\"\"/>'\n"
    . " WHEN 'case' THEN '<input type=\"checkbox\" name=\"reponse_case\" value=\"\"/>'\n"
    . " WHEN 'zone_texte' THEN '<textarea rows=\"4\" cols=\"50\"></textarea>'\n"
    . " END AS 'Status'\n"
    . "FROM `test23`";
 
$result = $mysqli->query($sql2);
 
$list = explode(";", $data['sous_choix']);
 
while($data = $result->fetch_array())
{
    echo $data['nom_test']." : ";
    echo $data['Status']."<br/>";
    echo $data['sous_choix']."<br/>";
}
 
 
 
//$result->close(); 
$mysqli->close();
 
?>
 
<form id="idTest2" name="reponse" method="post" action="traitement_reponse23.php">
    <input type="submit" value="envoyer">
</form>  
 
</body>
</html>
Alors en fait, mon problème c'est que j'aimerai pouvoir enregistrer les données que rentre l'utilisateur grâce à mon formulaire et ensuite récupérer ses données pour afficher son formulaire rempli, dans son espace perso.

J'ai trouvé un moyen de rentrer les données mais c'est pas propre (au niveau du code) et je suis obligé de créer n formulaires si j'ai n "WHEN" dans ma condition, donc n boutons "Envoyer".

Voici la syntaxe:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
" WHEN 'champ_texte' THEN '<form id=\"idTest2\" name=\"reponse\" method=\"post\" action=\"traitement_reponse23.php\"><input name=\"nom_reponse\" type=\"text\"/><input type=\"submit\" value=\"envoyer\"></form>'\n"
J'ai essayé de mettre mon form autour de ma requête sql (je vais me faire traiter d'hérétique ^^), et d'autres conneries.

Bref, j'aurai vraiment besoin de votre aide pour trouver un moyen de remédier à ça svp!

Merci d'avance.
Et je reste à votre disposition pour des questions sur le fonctionnement de mon code.

Cordialement,

Jean Baptiste