[PHP] calcul

Résolu/Fermé
Yotte Messages postés 29 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 15 juin 2005 - 8 juin 2005 à 13:27
Yotte Messages postés 29 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 15 juin 2005 - 13 juin 2005 à 14:52
Bonjour !

Désolée d'embêter le monde encore une fois...

Voilà mon problème (toujours en html-php) :

j'ai un nombre A sur la page 1, un nombre B sur la page 2 et je voudrais afficher C=A+B sur la page 3.
C'est possible ?
A voir également:

19 réponses

teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
8 juin 2005 à 13:36
Salut,
Ca dépend, si l'utilisateur va de 1 à 2 puis à 3 oui sans trop de problème, tu passes A à la page 2 et ensuite A+B à la page 3.
Sinon tu peux aussi enregistrer tou ça dans des variables de cessions...
0
Yotte Messages postés 29 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 15 juin 2005 1
8 juin 2005 à 13:38
ok, je vais essayer ça.
Merci beaucoup !
0
Yotte Messages postés 29 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 15 juin 2005 1
13 juin 2005 à 08:55
Bonjour !

j'ai du mal avec les varialbes de sessions.
j'ai bien compris qu'il fallait mettre session_start() au début de chaque page et que pour enregistrer les variables (pour pouvoir s'en servir sur une autre page), il faut utiliser session_register().

Pour récupérer ces variables, il faut utiliser $_SESSION[' '] non ?
J'arrive pas à les récupérer, il me dit qu'il ne les connait pas.

Merci de votre aide.
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
13 juin 2005 à 09:07
Si ej me trompe pas, session_register() s'utilise si tu as activé les variables globales.

Par exemple:
//-----Page 1
session_start();
$une_variable='valeur';

//On transforme $une_variable en variable session
session_register('une_variable');

//----Page 2 (on y arrive avec un lien depuis la page 1 par exemple)
session_start();
echo $une_variable; // ca marche, c'est bien une variable session


Ca ne marche que si tes variables globales sont activées.
Sinon:
session_start();
$une_variable='valeur';

$_SESSION['une_variable']=$une_variable;
//  Là ta variable session c'est $_SESSION['une_variable']


La première methode n'est pas compatible partout (il faut avoir les variables globales activées) et elle est moins sécurisée. Il vaut mieux utiliser la deuxième methode....*

=>http://fr2.php.net/manual/fr/function.session-register.php
0

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

Posez votre question
Yotte Messages postés 29 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 15 juin 2005 1
13 juin 2005 à 09:55
Merci. Je comprends déjà mieux.

les variables que je veux utiliser n'ont pas de valeur précise (elles font partie d'un formulaire, c'est l'utilisateur qui entrera la valeur), comment je peux faire :
$une_variable='valeur';

dans ce cas ???
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
13 juin 2005 à 10:04
Tu es libre de choisir tes noms de variables sauf pour un truc.
Tu as définis dans ton formulaire un nom pour tes champs:
<input name="nom_de_var">

Pour le récupérer, si tu as pris la methode post dans ton formulaire, c'est $_POST['nom_de_var'] (et $_GET si tu as pris la methode get).

Et après tu prends les noms que tu veux:
session_start();
$_SESSION['jqgvjhfgvkjqs']=$_POST['nom_de_var']; //ou nom_de_var correspond à ton <input name="....">
0
Yotte Messages postés 29 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 15 juin 2005 1
13 juin 2005 à 10:06
D'accord, je vais essayer.
Merci beaucoup pour ton aide !
0
Yotte Messages postés 29 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 15 juin 2005 1
13 juin 2005 à 11:11
Bon alors j'ai essayé et évidemment ça marche pas...je dois oublier quelque chose.

mon formulaire (simplifié parce que y'a beaucoup plus d'entrées que ça) :

<? session_start(); ?>

<html>
<head>
</head>

<body> 
<form name="ligcab" method="post">

<select name="metl1">
<option selected>Quel métal ?
<option>Cuivre
<option>AL : Aluminium
</select>

<br><input type="submit" value="Enregistrer">
</form>

</body>
</html>

----------------------------------------------------------

la page où je récupère et traite les données :

<? session_start();
$_SESSION['metl1']=$_POST['metl1']; ?>

<html>
<head>
</head>

<body>
<? echo $metl1 ; ?>

</body>
</html>
0
Yotte Messages postés 29 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 15 juin 2005 1
13 juin 2005 à 12:39
up, please, Help !
0
Yotte Messages postés 29 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 15 juin 2005 1
13 juin 2005 à 13:14
Il me met toujours ça comme erreur :

Notice: Undefined index: metl1 in p:\mon travail\diagdeseq.php on line 2


la ligne 2, c'est le $_SESSION['metl1']=$_POST['metl1']; (cf message <8>)
0
Yotte Messages postés 29 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 15 juin 2005 1
13 juin 2005 à 13:24
Pardon, j'avais oublié ça.

Mais j'ai toujours le même message d'erreur. J'ai l'impression qu'il n'enregistre pas la valeur que je donne dans la liste déroulante (faut que je lui indique où l'enregistrer ?).

Je passe par plusieurs pages entre le moment où je rentre la valeur dans le menu déroulant et le moment où je lui demande de m'écrire le résultat. ça joue ou pas ?
0
Yotte Messages postés 29 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 15 juin 2005 1
13 juin 2005 à 14:29
d'accord, ça, ça marche, mais j'ai besoin que ça soit dans 2 pages différentes.

je comprends pas pourquoi ça marche pas, je dois pas faire ce qu'il faut.
En fait, ça doit être dans le "action".
Le truc c'est que cette donnée, je vais l'afficher dans plusieurs pages de résultats. Par exemple, si la donnée est dans test et que je veux l'afficher à la fois dans test1 et test2. Je peux pas mettre les 2 adresses dans "action" ?
0
Yotte Messages postés 29 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 15 juin 2005 1
13 juin 2005 à 14:52
si je comprends ce que tu veux dire.
je vais essayer.
Merci beaucoup !
0

<? echo $_SESSION['metl1']; ?>



ça marche pas mieux avec ça ?
sinon c koi ton pb ?! message d'erreur ?
-1
tu donnes bien des valeurs à tes <option> de la liste déroulante ?


<select name="metl1">
<option selected>Quel métal ?</option>
<option value="Cuivre">Cuivre</option>
<option value="Aluminium">AL : Aluminium</option>
</select>

-1
normalement si tu mets ta donnée dans une variable session ça ne devrait pas poser problème


essaye ça :-/ mais j'ai du mal à voir où est le pb...

<?
session_start();
if(isset($_POST['metl1']))
	{
	$_SESSION['metl1']=$_POST['metl1'];
	}
else
	{
	$_SESSION['metl1']="";
	}
?>

-1
Yotte Messages postés 29 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 15 juin 2005 1
13 juin 2005 à 13:43
ça n'affiche rien.
donc il ne connaît pas la variable ?
bon je vais reprendre tout à zéro...
si je trouve, je te dirai quoi. Mais si t'as une autre idée, jsuis preneuse aussi :-)
-1
KopKop Messages postés 11 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 21 octobre 2005
13 juin 2005 à 14:02
regarde ça :
tu fais une page "test.php" et tu mets tout dedans

<?
session_start();
if(isset($_POST['metl1']))
	{
	$_SESSION['metl1']=$_POST['metl1'];
	}
else
	{
	$_SESSION['metl1']="";
	}
?>
<html>
<head>
</head>
<body>
<form name="ligcab" method="post" action="test.php?ok=oui">
	<select name="metl1">
		<option selected>Quel métal ?</option>
		<option value="Cuivre">Cuivre</option>
		<option value="Aluminium">AL : Aluminium</option>
	</select>
<input type="submit" value="Enregistrer">
</form>
<? echo "Métal : ". $_SESSION['metl1'] ; ?>
</body>
</html> 

-1
KopKop Messages postés 11 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 21 octobre 2005
13 juin 2005 à 14:46
quand tu valides ton formulaire de la page "test", tu l'envoi sur "test1"
là tu mets ta donnée dans une variable session et tu peux l'afficher, ensuite tu continues le traitement et quand tu arrives sur "test2" tu affiches la variable session

sans oublier de mettre
 session_start();
sur chaque page

c'est ptet pas tres clair...
-1