Récupération de données

adagamer Messages postés 42 Statut Membre -  
mpmp93 Messages postés 7217 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour tout le monde, en réalité j'ai un gros soucis, en plus c'est assez urgent! :s

Je suis actuellement en train de créer un formulaire pas-à-pas permettant à un utilisateur de l'aider à trouver l'ordinateur adéquate selon l'utilisation qu'il en aura, en gros:

>etape1: je demande l'utilisation qu'il compte en faire ( retouches, bureautique, jeux video)
>etape2: si il préfère un portable ou fixe
>etape3:le budget max de ce client(parmi un choix que je lui propose de différent paliers)

Les réponses étant donc à cocher dan des Inbox.
Hors je crée donc mon formulaire avec ma page de présentation, seconde page l'etape1, troisième pas l'étape 2 et quatrième page étape 3.

J'ai donc un fichier Html/Css avec le formulaire, puis un fichier php permettant la récupération des données choisis en Inbox par le client dans le formulaire.

Le soucis c'est que je n'arrive pas à récupérer les données sélectionnées par le client voila
tout :/

D'avance Merci.

10 réponses

Utilisateur anonyme
 
Bonjour,

Que contient votre variable $_POST ou $_GET dans le fichier PHP suite à la soumission de votre formulaire ?
0
adagamer Messages postés 42 Statut Membre 3
 
elle contient la variable "nombreEcran" que j'ai mis en place par rapport a l'écran auquel on se situe, si tu veux une partit du code pour mieux cerner la chose n'hésite pas car je suis en galère monstre :/

En tant que débutant du Php ^^

Merci pour l'aide :)
0
adagamer Messages postés 42 Statut Membre 3
 
La chose exact que je ne comprends pas c'est pourquoi est ce qu'il m'affiche ça: lorsque j'ai finit de répondre au formulaire et que je lance la page de résultat:

"; echo "Rep 2 : '".$reponse[2]."'
"; echo "Rep 3 : '".$reponse[3]."'
"; } else { echo 'Impossible de trouver le nombre de réponses.
Vérifiez la variable nombreEcrans de la page précédente.'; exit; } ?>
0
Utilisateur anonyme
 
Oui envoie le code, sinon ça va être dur, HTML et PHP
0
adagamer Messages postés 42 Statut Membre 3
 
VOICI LE CODE HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Pas à pas - PC</title>
</head>
<body>

<script type="text/javascript">

var ecranActuel = 1;
var nombreEcrans = 4;

function changerEcran(id) {
ecranActuel+=id;
var ecran = document.getElementById('ecran-'+ecranActuel);
for(i=1;i <= nombreEcrans;i++) {
if (document.getElementById('ecran-'+i))
document.getElementById('ecran-'+i).style.display = 'none';
}
ecran.style.display = 'block';

if (ecranActuel == 2 && document.getElementById('nombreEcransHidden'))
document.getElementById('nombreEcransHidden').value= nombreEcrans;
}

function question(element) {
document.getElementById('bouton-'+element.name).disabled = false;

}
</script>

<form method="post" action="pas-a-pas-resultats.php" target="_blank" class="page">
<input type="hidden" name="nombreEcrans" id="nombreEcransHidden" value="">

<!-- Ecran 1 -->
<div id="ecran-1" class="ecran">
<div class="contenu">
<h1>Bien choisir son ordinateur</h1>
<h2>Cet assistant va vous guider pas à pas dans le choix de votre ordinateur.</h2>
</div>
<div class="boutons">
<input type="button" value="Lancer le pas à pas >" onclick="changerEcran(1)">
</div>
</div>

<!-- Ecran 2 -->
<div id="ecran-2" class="ecran">
<div class="contenu">
<h1>Mon utilisation</h1>
<h2>A quel usage déstinez vous votre ordinateur ?</h2>
<input type="radio" name="q1" id="q1-1" value="acer" onclick="question(this)"> <label for="q1-1">utilisation bureautique, Internet</label><br>
<input type="radio" name="q1" id="q1-2" value="hp" onclick="question(this)"> <label for="q1-2">retouche photo, montage vidéo, son...</label><br>
<input type="radio" name="q1" id="q1-3" value="asus" onclick="question(this)"> <label for="q1-3">jeux vidéos</label><br>
</div>
<div class="boutons">
<input type="button" id="bouton-q1" value="Question suivante >" disabled onclick="changerEcran(1)">
</div>
</div>

<!-- Ecran 3 -->
<div id="ecran-3" class="ecran">
<div class="contenu">
<h1>Ordinateur fixe ou portable ?</h1>
<h2>Souhaiterez-vous emmener votre ordinateur pour vos déplacements ?</h2>
<input type="radio" name="q2" id="q2-1" value="portable" onclick="question(this)"> <label for="q2-1">oui</label><br>
<input type="radio" name="q2" id="q2-2" value="pc fixe" onclick="question(this)"> <label for="q2-2">non</label><br>
</div>
<div class="boutons">
<input type="button" value="< Question précédente" onclick="changerEcran(-1)">
<input type="button" id="bouton-q2" value="Question suivante >" disabled onclick="changerEcran(1)">
</div>
</div>

<!-- Ecran 4 -->
<div id="ecran-4" class="ecran">
<div class="contenu">
<h1>Mon budget</h1>
<h2>Quel budget maximum avez-vous pour votre achat d'ordinateur ?</h2>
<input type="radio" name="q3" id="q3-1" value="400" onclick="question(this)"> <label for="q3-1">400</label><br>
<input type="radio" name="q3" id="q3-2" value="600" onclick="question(this)"> <label for="q3-2">600</label><br>
<input type="radio" name="q3" id="q3-3" value="800" onclick="question(this)"> <label for="q3-3">800</label><br>
<input type="radio" name="q3" id="q3-4" value="1000" onclick="question(this)"> <label for="q3-4">1000</label><br>
</div>
<div class="boutons">
<input type="button" value="< Question précédente" onclick="changerEcran(-1)">
<input type="submit" id="bouton-q3" disabled value="Voir les résultats >">
</div>
</div>

</form>

</body>
</html>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
adagamer Messages postés 42 Statut Membre 3
 
ET ICI LE PHP

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Projet 1 - Pas à pas : Résultats</title>
<style type="text/css">
body{
font-family:Arial;
font-size:12px;
}
</style>
</head>
<body>

<?php
// Récupération des réponses
if(isset($_POST['nombreEcrans'])) {
$nombreEcrans = $_POST['nombreEcrans'];
for($i=1; $i <= $nombreEcrans;$i++) {
$reponse[$i] = $_POST['q'.$i];
}
echo "Rep 1 : '".$reponse[1]."'<br>";
echo "Rep 2 : '".$reponse[2]."'<br>";
echo "Rep 3 : '".$reponse[3]."'<br>";

} else {
echo 'Impossible de trouver le nombre de réponses.<br>Vérifiez la variable <b>nombreEcrans</b> de la page précédente.'; exit;
}
?>
0
adagamer Messages postés 42 Statut Membre 3
 
Je t'ai épargné le Css^^
0
Utilisateur anonyme
 
Je suis surpris, avec votre code je récupère les trois réponses à chaque fois, vous pouvez précisez le problème, car là je suis perdu
0
adagamer Messages postés 42 Statut Membre 3
 
Mon problème c'est que lorsque je clique sur "voir les résultat" il ouvre donc la nouvelle page mais m'affiche uniquement ca sur la page:

"; echo "Rep 2 : '".$reponse[2]."'
"; echo "Rep 3 : '".$reponse[3]."'
"; } else { echo 'Impossible de trouver le nombre de réponses.
Vérifiez la variable nombreEcrans de la page précédente.'; exit; } ?>
0
Utilisateur anonyme
 
Je crois comprendre...

Dans votre navigateur l'adresse du site est file://... et pas http://localhost/ je suppose (en gros vous cliquez directement sur le fichier HTML pour lancer la page).

Dans ce cas, le fichier PHP ne peut être interprété par APACHE

Il faut donc lancer votre page en tapant une URL web http://localhost/....

Vous avez bien un logiciel genre wamp ou easyphp d'installé sur votre machine ?
0
adagamer Messages postés 42 Statut Membre 3
 
-_-" En effet merci, je suis vraiment nul... Ca m'affiche bien les réponses en passant par Wamp!

Je l'ai d'installé mais au lieu de le lancer à l'aide de Wamp je le lançais directement du fichier Html, encore merci pour ton aide, je me sens vraiment idiot! lol

:)

encore merci beaucoup, je viens de perdre un temps précieux pour quelque chose d'aussi bête!

bonne journée à toi!
0
Utilisateur anonyme
 
Ca arrive à tout le monde rassure toi, si j'ai la solution, ce n'est pas pour rien
Bonne continuation !
0
mpmp93 Messages postés 7217 Date d'inscription   Statut Membre Dernière intervention   1 341
 
Bonjour,

Pour traiter des données aussi 'combinatoires' que celles d'un questionnaire, il faut un système expert. J'en ai construit un qui gère des règles et des faits dans un fichier XML de ce type:

<?xml version="1.0" encoding="UTF-8"?>
<!--
    Document   : calculRetraite.V0.xml
    Created on : 29 octobre 2010, 14:03
    Author     :  MPMP93
    Description:
        Règles décrivant les droits d'accès à la retraite - en évolution constante
-->

<rules>

    <testCategorieProfessionnelleVide test="categorieProfessionnelle" assert="==''">
        <set fact="texteReponseClient" value="catégorie professionnelle non sélectionné"/>
    </testCategorieProfessionnelleVide>

    <testCategorieProfessionnellePasVide test="categorieProfessionnelle" assert="!=''">

        <testAnneeNaissanceVide test="anneeNaissance" assert="==''">
            <set fact="texteReponseClient" value="année de naissance non sélectionné"/>
        </testAnneeNaissanceVide>

        <testAnneeNaissancePasVide test="anneeNaissance" assert="!=''">

            <testRegimeGeneral test="categorieProfessionnelle" assert="=='regimeGeneral'">

                <testAge test="anneeNaissance" assert="=='avant1951'">
                    <set fact="texteReponseClient" value="vous pourrez prendre votre retraite à 60 ans"/>
                </testAge>

                <testAge test="anneeNaissance" assert="=='1951'">
                    <set fact="texteReponseClient" value="vous pourrez prendre votre retraite à 60 ans + 1 trimestre"/>
                </testAge>

......[CUT].....


                <testAge test="anneeNaissance" assert="=='apres1963'">
                    <set fact="texteReponseClient" value="vous pourrez prendre votre retraite à 57 ans"/>
                </testAge>

            </testFonctionnairesActifs>

        </testAnneeNaissancePasVide>

    </testCategorieProfessionnellePasVide>

</rules>


Ces règles traitent les données issues d'un formulaire et gérées par un pseudo-moteur d'inférence d'ordre 0 avec chaînage avant unique.

Vous pouvez voir ce moteur d'inférence en action ici:
http://www.camping-car.org/index.php?page=expert/accueilCalculRetraite

Cordialement
0