msg erreur au sujet variable session

Invité
Invité n'ayant pas de compte PHPfrance

20 févr. 2008, 12:55

Bonjour,

Voila j'ai un soucis, j'ai l'impression que ma variable de session marche mais cela m'affiche ce message d'erreur. Et je ne comprend pas.
Si vous avez une idée. ça m'aiderai vraiment

Code : Tout sélectionner

Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively

Merci d'avance

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

20 févr. 2008, 15:09

Quelle version de PHP utilises-tu ?
Peux tu poster ici la partie de ton script qui pose problème ?
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Invité
Invité n'ayant pas de compte PHPfrance

20 févr. 2008, 15:36

$_SESSION['tes'] = $_REQUEST["texte"];
il y a que ça que j'ai rajouté et
$tes=$_SESSION['tes'];
mais ma variable de session est bien pris en compte donc je comprend pas.

merci

wamps 1.6.6 donc j'utilise le php qui est avec, la version 4

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

20 févr. 2008, 15:55

Mets à jour WampServer, la version 2 te permet de choisir ta version de PHP (4.1, 4.2, etc.)
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Invité
Invité n'ayant pas de compte PHPfrance

20 févr. 2008, 16:40

oui, mais ça change quoi a mon problème. J'utilise déjà les variable de sessions et j'ai pas de souci de message d'erreur.

merci

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

20 févr. 2008, 16:52

$tes=$_SESSION['tes']; //si tu mets cette ligne en commentaire, as-tu tujours le message ?
A quelle valeur est ta directive register_globals ? On ou Off ?
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Invité
Invité n'ayant pas de compte PHPfrance

21 févr. 2008, 11:25

j'ai rien touché a la config d'origine a ce niveau.

Comment es-ce que je fais pour savoir ?

merci

d0m
Mammouth du PHP | 1141 Messages

21 févr. 2008, 11:29

tu veux dire qu'avec certaines pages les sessions marchent, et avec ta page qui affiche le message d'erreur elles ne fonctionnent plus?

Dans ce cas quelles différences y a t il au niveau des codes?

Invité
Invité n'ayant pas de compte PHPfrance

21 févr. 2008, 11:36

Non, se que je veux dire c'est que ça marche partout mais que ça m'affiche un message d'erreur, alors que ça marche

d0m
Mammouth du PHP | 1141 Messages

21 févr. 2008, 11:56

Est ce que tu utilises les fonctions session_register() ou session_is_registered() ?

Est ce que tu mets NULL dans la variable de session?
$_SESSION['blabla] = NULL;
Est ce que tu mets une variable globale dans la variable de session?
$global $var=...;
$_SESSION['blabla] = $var;

Invité
Invité n'ayant pas de compte PHPfrance

21 févr. 2008, 12:27

je met pas null dans ma variable.

En faite ma variable est enregistrer a partir d'un formulaire, et est réutiliser a partir de cette même fenêtre, lorsque l'on revient dessus plus tard. Si j'appelle ma variable dans une autre fenêtre j'ai pas de souci. Mais c'est seulement quand j'appelle a partir de cette fenêtre que cela m'affiche le message. Sans pour autant ne pas fonctionner.

Auriez vous une idée de se qui pourrai faire afficher ça sur ma fenetre ? j'ai rien de spécial de différent par rapport au autre fenêtre.

(peux pas vous mettre le code j'ai plus de 600 lignes)

mrci

Invité
Invité n'ayant pas de compte PHPfrance

26 févr. 2008, 15:05

je suis toujours avec mon problème.

En faite dans ma fenetre j'ai une recherche qui est valider par un bouton. Et je prend un des champs du fomulaire que je met dans une variable de session.
Je le met de cette manière :
<input name="sub" type="image" onClick="<?php $nom=$_REQUEST["texte"]; $_SESSION['tes'] = $_REQUEST["texte"];  ?>" src="../image/bouton/button1F.gif" width="115" height="23" border="0">
pensez vous que cela vienne de cela ?

merci

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

26 févr. 2008, 15:14

Le problème ne doit pas venir de là, mais il n'en reste pas moins que tu mélanges langage côté client et côté serveur : onClick est une action javascript effectuée par le client, chez lui, sur son navigateur, tandis que PHP est un langage exécuté sur le serveur, probablement à des miliers de km de là... tu ne pourras donc pas faire exécuter du code php directement dans un onClick.

Il te faut pour cela soumettre une requête auprès du serveur, soit en envoyant un formulaire, soit en ouvrant une page spécifique, soit en utilisant du javascript (et notament ajax)

Quant au message, as-tu essayé de paramétrer session.bug_compat_42 ou session.bug_compat_warn (probablement situés dans le php.ini) à off, comme suggéré ?
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Invité
Invité n'ayant pas de compte PHPfrance

26 févr. 2008, 15:32

j'ai mis a off les 2 :

session.bug_compat_42 = off
session.bug_compat_warn = off

mais maintenant cela ne garde plus en mémoire la valeur de ma variable

avant de modifier j'avais

session.bug_compat_42 = 1
session.bug_compat_warn = 1


Le problème ne doit pas venir de là, mais il n'en reste pas moins que tu mélanges langage côté client et côté serveur : onClick est une action javascript effectuée par le client, chez lui, sur son navigateur, tandis que PHP est un langage exécuté sur le serveur, probablement à des miliers de km de là... tu ne pourras donc pas faire exécuter du code php directement dans un onClick.
pourtant je n'ai aucun probleme a ce niveau la, mon code fonctionne. J'ai bien le resultat souhaité.


merci

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

26 févr. 2008, 15:58

Ton code fonctionne et il va effectivement affecter $_REQUEST["texte"] a $nom et $_REQUEST["texte"] à $_SESSION['tes'], mais il va le faire dès l'exécution du script php sur le serveur et certainement pas au moment d'un click sur ton input :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...