transmission de variable

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 : transmission de variable

Re: transmission de variable

par demonjhpn » 27 janv. 2012, 02:58

aok g pigé cette fois !
je n'utilise que des variable super globales egalement et aucune global $maVariable.
De cette maniere je suis sur d'avoir la meme valeur sur toutes les pages. Ca evite les confusions!

Merci de tes info !!

Re: transmission de variable

par Aureusms » 27 janv. 2012, 00:04

Pour ces lignes :
ini_set('session.use_trans_sid', "0");
ini_set('session.use_cookies', "1");
ini_set('session.use_only_cookies', "1");
Dois je egalement les mettre en debut de chacune de mes pages utilisant les sessions ?
yep!
Dois je egalement les mettre en debut de chacune de mes pages utilisant les sessions ?

Derniere chose, dans mon code je n'utilise que ce genre d'ecriture $_SESSION["MA_VARIABLE"].
Quelle difference avec global $ma_variable ? je n'ai pas saissi la nuance !

Pour info j'utilise session_start sur toute mes pages. Est ce que cela peut poser un probleme de securité ?
session_start() est à mettre sur toute les pages ou tu vas utiliser les variables de session à savoir $_SESSION["MA_VARIABLE"]. Aucun problème de sécurité.

$_SESSION à une portée super globale. Un petit exemple ? Soit page1.php et page2.php)

page1.php
<?php 
session_start();
$_SESSION["essai"] = 'coucou';
?>
page2.php
<?php 
session_start();
echo $_SESSION["essai"];
?>
Ensuite tu lances dabord page1.php (http://monsite.com/page1.php) puis page2.php (http://monsite.com/page2.php)
Tu devrais avoir "coucou" d'afficher => la donnée de la variable inscrite dans page1.php est disponible dans page2.php. Cela marche aussi avec la portée des variables de fonctions, de classe, ...

La différence avec global $maVariable; est que la portée de $maVariable ne sera globale (fonction, classe) que pour la page en cours (page1.php par exemple) et non pour page2.php. Tu ne pourra pas transmettre d'infos de page1 à page2.
Perso je n'aime pas trop les global $maVariable; mais cela peut être utile de temps en temps.

Re: transmission de variable

par demonjhpn » 26 janv. 2012, 16:08

Merci de tes infos !

J'ai reussi a regler une bonne part de mes erreures de codage dus essentiellement a la syntaxe dont les subtilités sont encore un peu flou pour donc j'y vais a taton.

Pour ces lignes :
ini_set('session.use_trans_sid', "0");
ini_set('session.use_cookies', "1");
ini_set('session.use_only_cookies', "1");
Dois je egalement les mettre en debut de chacune de mes pages utilisant les sessions ?

Derniere chose, dans mon code je n'utilise que ce genre d'ecriture $_SESSION["MA_VARIABLE"].
Quelle difference avec global $ma_variable ? je n'ai pas saissi la nuance !

Pour info j'utilise session_start sur toute mes pages. Est ce que cela peut poser un probleme de securité ?

merci

Re: transmission de variable

par Aureusms » 24 janv. 2012, 23:16

Quand tu fais session_start(), le serveur envoi un cookie volatile au navigateur client indiquant l'id de session. C'est automatique pas besoin de l'envoyer manuellement.
Cependant session_start(); ne doit être présent qu'une seule fois n'importe où sur la page (mais c'est meiux en haut de page) et sur toutes les pages utilisant les sessions et leurs super-variables ($_SESSION)

Ces trois lignes là :
ini_set('session.use_trans_sid', "0");
ini_set('session.use_cookies', "1");
ini_set('session.use_only_cookies', "1");
Oblige php a n’accepter que les infos venant du cookie et non via l'URL (deuxième mode de transmission de l'id de session)
Si tu as des sautes de variables de sessions venant de Chrome, il doit ne pas accepter les cookie même volatile. Vérifie cela.

Dernière chose : tu écris variable globale session. La super-variable $_SESSION est d'office globale uniquement si tu as session_start() dans la page.
On parle bien de la variable $_SESSION["MA_VARIABLE"] ou de global $ma_variable; Ce n'est pas la même chose...

Re: transmission de variable

par demonjhpn » 24 janv. 2012, 00:49

si j'insere simplement ce code, mon traitement m'indique que l'utilisateur n'est pas connecter.

Peut etre simplement que je n'ai pas coder comme il faut le cookie dans mon traitement.

Eclaire moi sur le fonctionne si tu peu je verrai ca demain maintenant.

tchus

Re: transmission de variable

par demonjhpn » 24 janv. 2012, 00:35

en local et non je n'ai pas ce code encore ^^

tu peu m'en dire 1 mot stp ?

merci !

Re: transmission de variable

par Aureusms » 24 janv. 2012, 00:12

Tu es en local ou sur un serveur distant ?

As tu quelques part :
ini_set('session.use_trans_sid', "0");
ini_set('session.use_cookies', "1");
ini_set('session.use_only_cookies', "1");
session_name("NOM_DU_COOKIE");
session_start();
session_regenerate_id();

Re: transmission de variable

par demonjhpn » 24 janv. 2012, 00:00

ok j'ai reussi a faire ce que je voulais ;p

je me suis apercu d'une chose etonnante avec chrome, les variables globales (session) saute lorsque l'on appuie sur f5.

Ya un moyen a part les cookies pour remedier a ca ?

Re: transmission de variable

par xTG » 23 janv. 2012, 17:46

Pour interpréter un script PHP il faut que le fichier porte l'extension .php et non .html
Aussi il ne faut pas de parenthèse autour de la variable.

Re: transmission de variable

par demonjhpn » 23 janv. 2012, 17:24

j'ai deja testé ca mais ma page est en html ! est ce que cela importe pour la recup de la variable ?

je recupera ma variable avec
$log_me = ($_GET['mavariable']);
c bien ca ?

Re: transmission de variable

par xTG » 23 janv. 2012, 16:41

Formulaire ou lien nécessitent l'action de l'utilisateur.
Dans ton cas une redirection est le mieux :
header('Location: taPage.php?taVariable=taValeur');
Un header() doit être placé avant tout affichage.

transmission de variable

par demonjhpn » 23 janv. 2012, 16:39

Salut a tous,

je cherche le code qu'il faut que j'utilise pour transmettre une variable par get ou post peu importe (preference pour post) sans que le visiteur n'ai a clicker sur un lien pour la transmttre.
C'est un code que j'utiliserai a la fin d'un code php pour terminer une verification. Et la je galere un peu entre les headers, href. Ca ne fonctionne pas comme je voudrais.
Faut il utiliser un scrpit java ou quelque chose comme ca ?

Merci a tous