OVH Cloud OVH Cloud

question sur les sessions

6 réponses
Avatar
Super Ben!
Bonjour,

J'essaye tout simplement de passer la valeur de $toto d'une page à l'autre
et cela ne fonctionne pas et je ne comprend vraiment pas pourquoi car j'ai
recopié le code d'un livre !!!
j'utilise easy php avec php 4.3.3

merci de votre avis ...

voici mon code :

page1:
<html>
<head>
<title></title>
</head>
<body>
<?php
echo "toto premiere fois";
$toto = "super toto";
session_start();
session_register("toto");
?>
<br />
<a href="page2.php">y aller</a>
</body>
</html>

page2:

<html>
<head>
<title></title>
</head>
<body>
<?php
session_start();
echo "toto : ".$toto;
?>
</body>
</html>

6 réponses

Avatar
Shrom
"Super Ben!" a écrit dans le message de
news:4030caeb$0$20442$
page2:

<html>
<head>
<title></title>
</head>
<body>
<?php
session_start();
echo "toto : ".$toto;
?>
</body>
</html>


Essaie:
echo "toto : ".$_SESSION['toto'];
si ça marche, c'est que le paramètre register_globals est sur Off dans le
php.ini et c'est très bien comme ça, il faut alors utiliser les sessions de
cette manière:
session_start();
$_SESSION['var'] = 'something';
echo $_SESSION['var'];

Avatar
Pimousse
Page 1 :

session_register("toto");
DEPRECATED comme diraient certains :D


utilise :
<?
echo "toto premiere fois";
session_start();
$_SESSION['toto']='super toto';
?>

----------
Page 2 :

echo "toto : ".$toto;
Ca risque pas de fonctionner :D


<?
session_start();
echo 'toto : '.$_SESSION['toto'];
?>


PS : pour les chaines de caractères qui ne nécessitent pas d'évaluation,
cad ne contenant pas de variable(s), utilise des simples quotes plutôt
que des doubles ... ça évitera au moteur zend de pédaler pour rien (même
si le gain ne doit pas être faramineux)

Avatar
cyrille
J'essaye tout simplement de passer la valeur de $toto d'une page à l'autre
et cela ne fonctionne pas et je ne comprend vraiment pas pourquoi car j'ai

page2:

<?php
session_start();
echo "toto : ".$toto;


essais plutôt

echo $_SESSION["toto"];

la fonctionnalités 'global_register' est inactive par défaut depuis les
versions récentes de php.

Avatar
Regis
Le Mon, 16 Feb 2004 15:20:27 +0000, Super Ben! a écrit :

Bonjour,


Bonsoir

essayes un truc comme :

<a href="page2.php?toto=<?php echo $toto ?>">y aller</a>

dans la première page

Amicalement

Régis


--
Beuvez Beuvez mais bourré jamais !
Drink drink but never Drunk !
(Rabelais)

Avatar
Super Ben!
Merci à tous !

la solution :

$_SESSION ...

est la bonne !
Avatar
jz
Regis wrote:
...
<a href="page2.php?toto=<?php echo $toto ?>">y aller</a>


Non, cela revient à faire passer toutes les variables et leurs valeurs
"en clair", un régal pour les moins compétents des pirates.

La solution est : echo '<a href="page2.php?'.SID.'">y aller</a>';

.SID. fait suivre toutes les variables de session, mais sans les
afficher dans le nom de l'url.

Mais ATTENTION: session_start(); doit être la *1ère instruction* de
*tous les fichiers*, avant toute autre commande html, donc avant "<html>".


Exemples : passage de la variable de session 'toto'

-------------------------
fichier1.php
-------------------------
<?php
session_start();
?>

<html>
<head>
</head>
<body>
<?php
$_SESSION['toto'] = "C'est mon contenu de toto à moi !!!";
echo '<a href="fichier2.php?'.SID.'">fichier 2</a>';
?>
</body>
</html>


-------------------------
fichier2.php
-------------------------
<?php
session_start();
?>
<html>
<head>
</head>
<body>
<?php
$toto2 = $_SESSION['toto'];
echo "toto2=$toto2<p>";
?>
</body>
</html>