Rechercher : dans
Par :

Passage de variable d'une page à une autre

Dernière réponse le 29 mai 2009 à 12:47:22 -CCM-, le 17 jui 2008 à 16:09:25 
 Signaler ce message aux modérateurs

Bonjour,

J'utilise sur une page ( www/repertoire/script.php) une variable ( $var ) que je souhaite récuper dans une fonction située sur une autre page (www.fonction.php).
J'ai essayer le passage de variable avec include ("/repertoire/script.php") mais sa m'affiche toute la page.... or je ne veut que la valeur d'une variable...

J'ai lu quelques [tutos][url=http://www.lephpfacile.com/cours/21-la-portee-des-variables] mais etant novice je ne trouve pas la fonction adequate.

Pourriez vous m'aider svp ?
Merci

Configuration: Windows 95
Firefox 1.0.23

Meilleures réponses pour « passage de variable d'une page à une autre » dans :
Sauvegarder facilement vos marques pages VoirVoici un tutoriel pour sauvegarder facilement vos marques-pages. Tout d'abord, il faut télécharger Fox Marks. Redémarrer le navigateur pour terminer l'installation. Cliquez sur Outils ===> Xmarks ===> Show New User Une fenêtre s'ouvre...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...

1

Passarinho44, le 17 jui 2008 à 16:15:21
  • +1

Bonjour,

Tu as du texte qui s'affiche dans tes 2pages?

Si tu n'as que des fonctions dans ta page fonction.php, je te conseille de faire l'inverse : un include(fonction.php) dans ton script.php

Ainsi tu vas récupérer la fonction dont tu as besoin directement dans ton script.php et tu pourras y utiliser ta fonction avec ta variable.

J'espère avoir répondu comme tu voulais parce que je n'ai pas totalement compris ce que tu veux faire ...

Répondre à Passarinho44

2

-CCM-, le 17 jui 2008 à 16:23:39
  • +1

Salut,

Je resume. j'ai deux pages avec du texte des images.... et des fonctions php.

L'une est à la racine (page1) l'autre est dans un répertoire de la racine (page 2).
Le but de la manip est de récuperer une variable contenu dans ma page 2 pour pouvoir l'exploiter dans ma page 1 ...

: (

Répondre à -CCM-

3

Passarinho44, le 17 jui 2008 à 16:49:49
  • +1

Et bien une solution consiste à passer d'une page à l'autre en conservant cette variable dans le lien.

Exemple :

Dans script.php tu met un lien vers "fonction.php?Variable=".$var

Puis sur fonction.php tu récupères cette variable gràce à : $_GET['Variable']

C'est ce que tu veux?

Répondre à Passarinho44

28

 leon91490, le 29 mai 2009 à 12:47:22
  • +1

Via les sessions..

tu fait
<?php
session_start (); // mets en route les sessions....

ensuite tu mets $_SESSION["var"] = $var;
?>
ca sur la premiere page... sur la seconde page
<?php
session_start ();

$var = $_SESSION ["var"];
?>

<a href = "fonction.php">envoyer vers page de fonction</a>




ensuite tu as un lien genre <a href = "toto.html">toto</a>
et dans toto.html tu as <a href = "titi.php">titi</a>

et tu retrouves ta variable $var dans titi....


et tu mets un lien pour fermer la session par exemple sur un clic "accueil"

<

Répondre à leon91490

4

-CCM-, le 17 jui 2008 à 16:52:04
  • +2

Oui je connaissais ce mode de passage de variable, mais est-ce le seul qui existe ??
Si l'on change la variable contenus dans l'url, le script changeras et le contenu de la page sera changer ... pas terrible non ? ..

Répondre à -CCM-

5

xxkirastarothxx, le 17 jui 2008 à 16:56:13
  • +1

Tu peux utiliser les $_GET, les $_POST pour faire passer d'une page a une autres, rien de mieux a ma connaissance.

Il y a d'autre façon aussi, vois les DEFINE qui servent a définir une variable sur tout le site, ou il y a aussi la possibilité de transité avec les variables de $_SESSION

Répondre à xxkirastarothxx

6

Passarinho44, le 17 jui 2008 à 16:58:09

Oui c'est sûr c'est pas terrible :s
En général on s'en sert pour garder le language ou d'autres choses peu importantes ...
Mais regarde le post où tu es est contenu dans le lien de la page et tu ne t'amuses pas à le changer, ça n'apporte pas grand chose.. :p

Le mieux est encore de mettre des valeurs à cette variable qui sont incompréhensibles pour l'utilisateur ^^

Sinon le seul moyen que je vois est de recopier ta fonction de fonction.php dans script.php mais c'est sûr que ça n'est pas optimisé...

Sinon je ne vois pas d'autre moyen personnellement... Désolé :s

Répondre à Passarinho44

7

-CCM-, le 17 jui 2008 à 17:08:28

@xxkirastarothxx, je ne vois pas vraiment comment faire malgrès les tutaux : http://www.apprendre-php.com/...

@Passarinho44, je ne peu pas me permettre de mettre le script sur la même page car c'est une variable qui est récuperer d'un champs et c'est censé étre définit par l'administrateur...

Le mieux est encore de mettre des valeurs à cette variable qui sont incompréhensibles pour l'utilisateur

Sauf que l'a c'est un entier que je veut transmettre !! :) le lien sera du type www.domaine.fr/index.php?var=6
très simple a modifier... lol


Sa reste la solution la plus plausible .. je vais l'essayer...

Merci a vous

Répondre à -CCM-

8

Passarinho44, le 17 jui 2008 à 17:16:52

Tu n'as qu'à essayer la variable de session.
C'est vrai que je n'y avais pas penser.

Si tu ne sais pas l'utiliser, vas voir ici : http://www.siteduzero.com

Cherche le tutoriel dessus il est très bien fait =)

Répondre à Passarinho44

9

xxkirastarothxx, le 17 jui 2008 à 17:29:11
  • +1

Pour le Define c'est très simple:

DEFINE("TEST", "salut");
Echo TEST; // renvoie salut //

pour la variable de sessions c'est assez simple également, il faut que tu ajoute session_start(); en tout début (tout tout début) de ta page pour ouvrir une session, et ensuite tu peux ajouter des variables que tu souhaite, par exemple:
$_SESSION['ville'] = "Paris"
ce qui fait que de, normalement, n'importe ou tu peux appeler ta variable $_SESSION['ville'];

Il faut que la session_start() soit présent sur toutes les pages ou tu as besoin des variables de session ( seulement la page index.php, si transite tout par cette page)
pour plus de précisions, va effectivement voir le tutos du site du zero, très bien fait, on comprendre rapidement.

la difference principale entre les deux, c'est que DEFINE definie une varaible, pour tout le monde pareille, alors que pour les sessions sont gérées par utilisateurs, tu peux donc très bien appelé "$_SESSION['monpseudo']"

on utilise en général DEFINE pour des variables fixe, propres au site ( host, url, nom de site...), et $_SESSION pour des variables qui diffèrent entre chaque utilisateurs ( pseudo / niveau d'acces .....)

Répondre à xxkirastarothxx

10

Passarinho44, le 17 jui 2008 à 17:35:02

La définition de DEFINE est en fait celle d'une constante et non plus d'une variable ;)

Répondre à Passarinho44

11

-CCM-, le 17 jui 2008 à 17:36:38

Merci a vous...

Le lien sur le site du zéro : http://www.siteduzero.com/tuto-3-70-1-les-variables.html#ss_­part_4


je n'ai pas reussi a utiliser define, c'est ce qu'il me faudrais ... (et pas trops compris comment faire le passage de variable par url) :S

Mon script recupere la valeur d'un champs :

<?php
	if( isset($_POST['ok']) )// si formulaire soumis
	{ 
	
	if (isset($_POST['nbr']) )
	$nbr=$_POST['nbr'];
	else $nbr="0";	
	}
?>	


et sur mon autre page qui se trouve a la racine :

j'ai un petit
$max = $nbr;


c'est la variable $nbr que je veut faire passer du racine/repertoire/scriptphp au racine/script2.php

Répondre à -CCM-

12

Passarinho44, le 17 jui 2008 à 17:43:57

Essaie

$nbr = 1;
DEFINE(TEST, $nbr);

dans la première page
Et

echo TEST;

dans la seconde page

(je ne sais pas s'il est possible de mettre une variable dans le DEFINE donc rien de sûr hein ^^" , je pense même que ça ne fonctionnera pas mais qui ne tente rien n'a rien ;) )

Répondre à Passarinho44

13

arthezius, le 17 jui 2008 à 18:17:00

Y'a pas de raison que ça marche pas. Les variables ont peux les mettre presque partout. Webmaster indépendant.

Répondre à arthezius

14

-CCM-, le 18 jui 2008 à 09:45:21

?? sa ne marche pas :


Notice: Use of undefined constant TEST - assumed 'TEST' in C:\Program Files\EasyPHP 2.0b1.... 

Répondre à -CCM-

15

-CCM-, le 18 jui 2008 à 11:01:03

Même le session start ne me donne rien ...

index.php : ligne 1 ...... <? php session_start();?>
ligne XXX ....$max = $_SESSION['nombre'];


recup_variable.php : ligne 1 ...... <? php session_start();?>
ligne XXX ....$_SESSION['nombre'] = "3" ;



8S ! Qué Pasa !

Répondre à -CCM-

16

-CCM-, le 18 jui 2008 à 11:22:44

Je vien d'essayer avec les $Post_[]; et $GET ...


recup_variable.php :

if( isset($_POST['nbr']) )
$nbr=$_POST['nbr'];

index.php :

$max = $_GET['nbr'];



M'enfin sa doit bien se faire un passage de variable d'un doc a un autre .... La j'avoue que sa me prends un peu la tête bloquer sur un truc aussi simple !!

Répondre à -CCM-

17

xxkirastarothxx, le 18 jui 2008 à 11:27:51

La définition de DEFINE est en fait celle d'une constante et non plus d'une variable ;)

Ouais c'est vrai ^^

et pas trops compris comment faire le passage de variable par url

Roh quand même ^^

Exemple très simple:
l'url: index.php?page=news
dans la page index.php:
$_GET['page'] est égale a 'news'

Pour les Define, tu as l'air de mal t'y prendre:
exemple:
<?php
define("CITY", "Ville");
echo CITY;
?>

mettre une variable a la place de "Ville" ne devrai pas poser de problème je suppose, jamais test...
Edit: ça marche comme ça en tout cas:
$visit = "visiteurs";
define("VISITORS", "$visit");

Quant aux sessions, comme ça je vois rien de bizarre, ta valeur $max devrai être égale à 3 dans ta page index.php.
peut être à tu inclue ta page recup_variable.php dans ton index.php ?
Commence par faire des tests simples avec ce qu'on ta donné voir ce qui marche ou non.

Répondre à xxkirastarothxx

18

xxkirastarothxx, le 18 jui 2008 à 11:31:57

recup_variable.php :

if( isset($_POST['nbr']) )
$nbr=$_POST['nbr'];

index.php :

$max = $_GET['nbr'];


la par contre y'a rien qui marche et c'est bien normal, je dirais que je comprends limite pas un mot du code xD
A voir le code tu pensais que POST servait a définir une variable, et GET pour la récupéré non ? en gros t'as rien lu des tutos ? :P

les Variable POST c'est pour passé les donnés via formulaire
par exemple si tu as un formulaire avec un champ <input type='text' name='test' />
tu pourra récupéré $_POST['test'], et cette valeur serra égale a ce que l'utilisateur aura entré dans le formulaire.

Le $_GET sert a récupéré les variables stroquée dans l'URL, j'ai mis l'exemple dans le post précédent.

Répondre à xxkirastarothxx

19

-CCM-, le 18 jui 2008 à 11:51:47

Page1.php

define("VA", $nbr);
echo VA;

Je veut maintenant l'afficher sur l'autre page:

echo $nbr;
Notice: Undefined variable: nbr in C:\Program Files\EasyPHP 2.0b1\www\index.php on line 85

echo VA;
Notice: Use of undefined constant VA - assumed 'VA' in C:\Program Files\EasyPHP 2.0b1\www\index.php on line 85

heu comment faire j'ai pas compris ...

Répondre à -CCM-

20

-CCM-, le 18 jui 2008 à 11:56:51

Heuu si je suis bien les tutaux ... et encore un autre que je suis depuis tout a l'heur http://cyberzoide.developpez.com/php4/url/


Je savais bien que sa servai à récuperer"les Variable POST c'est pour passé les donnés via formulaire " je l'utilise dans mes 2 ou 3 formulaire plus d'une dizaine de fois... C'est juste un essai pour voir "la limite de la porté des variables." Comme je débute en php j'essai de tout ...
ET du n'importe quoi !!!

Répondre à -CCM-
Collection CommentÇaMarche.net