msg erreur au sujet variable session

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : msg erreur au sujet variable session

par Invité » 27 févr. 2008, 17:29

ok, j'ai changer les variable d'endroit. Convaincu. Cela marche de la même façon donc ça me va!

Merci

Mais cela ne corrige pas mon erreur.

Ce que je comprend pas, c'est que quand je regarde sur internet, ceux qui ont déjà eu ce message d'erreur, avait leur variable qui ne marchais pas, mais moi, non. Tout fonctionne!!!

par Ryle » 27 févr. 2008, 16:58

Le serveur exécute d'abord le php, et c'est le navigateur qui exécute ensuite le html.

Pour t'en convaincre, regarde le code source de la page générée, tu verras que la valeur de ton attribut onClick est vide, tout simplement parce qu'elle n'a rien à voir avec php.

En gros, ce que tu fais revient exactement au même que si tu faisais :
<?php 
  $nom=$_REQUEST["texte"]; 
  $_SESSION['tes'] = $_REQUEST["texte"];  
?>
<input name="sub" type="image" src="../image/bouton/button1F.gif" width="115" height="23" border="0"> 
Ma remarque a uniquement pour but d'éviter une éventuelle confusion entre l'action onClick et le traitement php :) Le fait de cliquer sur l'image n'a pour effet que de déclencher la soumission du formulaire et de tout ce qui peut en découler...

par Invité » 27 févr. 2008, 16:47

mais il va bien le refaire lors de l'input ? non ?

on faite lorsque je clique sur le bouton cela utilise les valeurs saisie dans le formulaire et m'affiche les enregistrement correspondant a la saisie sur la meme fenêtre. Et cela fonctionne

donc si mon code ne fonctionne, de quel manière les infos sont prisent en compte ?

merci

par Ryle » 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 :)

par Invité » 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

par Ryle » 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é ?

par Invité » 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

par Invité » 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

par d0m » 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;

par Invité » 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

par d0m » 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?

par Invité » 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

par mere-teresa » 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 ?

par Invité » 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

par mere-teresa » 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.)