[PHP] calcul

Résolu
Yotte Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -  
Yotte Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Modérateur Dernière intervention   1 793
 
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   Statut Membre Dernière intervention   1
 
ok, je vais essayer ça.
Merci beaucoup !
0
Yotte Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   1
 
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 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
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   Statut Membre Dernière intervention   1
 
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 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
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   Statut Membre Dernière intervention   1
 
D'accord, je vais essayer.
Merci beaucoup pour ton aide !
0
Yotte Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   1
 
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   Statut Membre Dernière intervention   1
 
up, please, Help !
0
Yotte Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   1
 
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   Statut Membre Dernière intervention   1
 
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   Statut Membre Dernière intervention   1
 
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   Statut Membre Dernière intervention   1
 
si je comprends ce que tu veux dire.
je vais essayer.
Merci beaucoup !
0
KopKop
 

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



ça marche pas mieux avec ça ?
sinon c koi ton pb ?! message d'erreur ?
-1
KopKop
 
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
KopKop
 
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   Statut Membre Dernière intervention   1
 
ç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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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