8791 sujets

Développement web côté serveur, CMS

Bonjour,

Je crée un site en php avec une base de donnée et je cherche depuis quelques temps à transmettre le résultat d'un calcul de pourcentage sur une autre page. J'avoue, je ne trouve pas ce que je cherche dans les exemples de transmission de variable.
Je donne le contexte:
Via un premier formulaire un utilisateur fait des choix parmi une liste de case à cocher.
Je récupère l'info et l'affiche dans un autre formulaire pour l'utilisateur2.
Dans cette nouvelle liste restreinte, il coche pour dire ok c'est fait et valide (il a le droit de se tromper et de décocher, cela fait un udpate dans la bdd).

Cela me permet de faire un calcul de pourcentage tout simple: nombre de cases cochées sur le total.

// calcul du nombre total de cases à cocher sélectionnées par l'utilisateur1

$table = array($resultat['menage'],
                   $resultat['vaisselle'],
                   $resultat['repassage'],
                   $resultat['table']);
    $total= array_sum($table);

// nombre de case cochées (donc ce qui est fait) par l'utilisateur2
 
    $table2 = array($resultat['menage_x'],
                   $resultat['vaisselle_x'],
                   $resultat['repassage_x'],
                   $resultat['table_x'],
    $nombre= array_sum($table2);

//Calcul du pourcentage 
    $pourcent =  $nombre * 100 / $total;



Mon problème est là: je veux transmettre ma variable $pourcent vers ma page d'accueil et je ne vois pas comment faire.
Je ne peux pas l'envoyer via le formulaire puisque qu'il renvoie les infos sur la même page, donc pas de hidden non plus. Je ne fais pas de lien vers l'accueil.
J'ai pensé le mettre en session mais sans un $_POST par exemple je ne vois pas comment.
J'ai testé le plus simple, mettre ça dans mon header mais naturellement ma session est vide:
 $pourcent = $_SESSION['pourcent']


Pouvez-vous m'aider?

Merci. Smiley smile
Modifié par biscott' (18 Aug 2010 - 00:18)
Salut,

hem... pas sûr d'avoir tout compris. Smiley murf

Pour transmettre ta variable tu peux par exemple :

* la récupérer en get :
header("Location: accueil.php?pourcent=$pourcent"); 
$pourcent = !empty($_GET['pourcent']) ? intval($_GET['pourcent']) : '';

* pour la session il suffit que tes 2 pages commencent par session_start :
session_start();
$_SESSION['pourcent'] = $nombre * 100 / $total;
session_start();
$pourcent = $_SESSION['pourcent']
Heyoan je te remercie pour ta réponse.
Excuses moi si je n'ai pas été suffisamment claire, pas évident de faire ressortir un petit problème de tout ce site.

Ce que tu me propose m'aide grandement, j'utilise déjà les sessions dans mon header mais je n'aurai pas trouvé cette manière de procéder.

En ce moment je travaille depuis un autre pc et le site plante, j'ai ma page d'index mais plus de renvoi sur la page d'accueil... j'ai dû oublié quelque chose dans la copie site / base de donnée.
Pour le moment je ne peux pas donc pas tester tout cela et je crois même qu'une pause s'impose car ça fait trop longtemps que je suis dessus. Smiley confused

Je reprendrai cela à tête reposée et ne manquerai pas de te tenir au courant!

Merci encore.
Bonsoir!

Après quelques jours de recherche, j'ai finalement résolu mon problème.

Suite à ta proposition Heyoan, j'ai réussi à mettre mon pourcentage en session mais il ne s'affichait pas comme je le pensais dès l'ouverture de la page d'accueil.

Cela m'a donc permis de comprendre que j'abordai mal mon problème! (je précise que je débute en PHP même si je pense que c'est évident Smiley smile )

Au final, j'ai crée une fonction pour le calcul du pourcentage afin de pouvoir l'appeler facilement.
Je l'ai isolé sur une page du style fonction.php afin de pouvoir faire un include et m'y retrouver un peu plus dans tout le code!

Merci encore à toi, cela m'a permis de mieux cerner les sessions et surtout mon fameux pourcentage me permet désormais d'afficher une barre de progression jQuery en page d'accueil Smiley murf

Biscott'

Ps: je modifie le sujet en résolu!