Garder les variables après un refresh

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 : Garder les variables après un refresh

Re: Garder les variables après un refresh

par danardf » 18 août 2009, 09:43

C'est bon j'ai trouvé:

Code : Tout sélectionner

session_start(); if(!empty($_POST)) { $_SESSION['post'] = $_POST; $queue = trim($_SESSION['post']['queue']); $template = trim($_SESSION['post']['template']); $refresh = trim($_SESSION['post']['refresh']); } $queue = trim($_SESSION['post']['queue']); $template = trim($_SESSION['post']['template']); $refresh = trim($_SESSION['post']['refresh']);
Merci à tous :D

Re: Garder les variables après un refresh

par danardf » 18 août 2009, 07:44

Pour utiliser les variables de sessions tu dois en créer une avant tout, pour celà tu dois utiliser session_start() ( http://fr.php.net/manual/fr/function.session-start.php ).

L'appel à cette fonction doit être fait avant tout envoie de donnée au client.
Tu veux dire par là qu'il faille mettre sessions_start() dans la page index.php uniquement?
Ce que j'ai essayé mais sans résultat.

Code : Tout sélectionner

if($_POST) { $_SESSION['post'] = $_POST; $queue = trim($_SESSION['post']['queue']); $template = trim($_SESSION['post']['template']); $refresh = trim($_SESSION['post']['refresh']); }
Hmm si j'ai bien compris:
Si $_POST est non vide, alors j'affecte le contenu de $_POST dans la variable système $_SESSION['post']
Après j'affecte le contenu du tableau $_SESSIOS['post'] dans mes variables.

Mes après le refresh, si $_POST est vidé !? Je me retrouve dans la même situation?

Re: Garder les variables après un refresh

par danardf » 18 août 2009, 07:35

bah, tu peux commencer par :
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<?PHP
   include_once "libs/functions.inc";
   global $rs, $result, $queues_number ;

if($_POST)
{
$_SESSION['post'] = $_POST;
$queue = trim($_SESSION['post']['queue']);
   $template = trim($_SESSION['post']['template']);
   $refresh = trim($_SESSION['post']['refresh']);


} 

   
   get_queues_value();
   scan_queues();




?>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<?PHP echo '<meta http-equiv="Refresh" content="'.$refresh.'"'; ?> >

<title>

<?PHP 
   echo $queues_number[$queue]; 
?>
</title>

</head>
<body>

Pas mieux. :(

Re: Garder les variables après un refresh

par fab » 18 août 2009, 01:16

Pour utiliser les variables de sessions tu dois en créer une avant tout, pour celà tu dois utiliser session_start() ( http://fr.php.net/manual/fr/function.session-start.php ).

L'appel à cette fonction doit être fait avant tout envoie de donnée au client.

Re: Garder les variables après un refresh

par enneite » 17 août 2009, 21:40

bah, tu peux commencer par :
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<?PHP
   include_once "libs/functions.inc";
   global $rs, $result, $queues_number ;

if($_POST)
{
$_SESSION['post'] = $_POST;
$queue = trim($_SESSION['post']['queue']);
   $template = trim($_SESSION['post']['template']);
   $refresh = trim($_SESSION['post']['refresh']);


} 

   
   get_queues_value();
   scan_queues();




?>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<?PHP echo '<meta http-equiv="Refresh" content="'.$refresh.'"'; ?> >

<title>

<?PHP 
   echo $queues_number[$queue]; 
?>
</title>

</head>
<body>

Garder les variables après un refresh

par danardf » 17 août 2009, 20:20

Bonjour.

Je ne suis pas très très bon en php mais je me débrouille. (Enfin, y a pire)

J'ai une page Formulaire (index.php) qui me revoie des données en méthode POST vers la page wall_board.php

L'affichage ce fait bien mais au prochain refresh, plus de donnée!

J'ai regardé (peut-être pas assez) et il est évoqué ceci:

Code : Tout sélectionner

if($_POST) { $_SESSION['post'] = $_POST; }
En faite, voici mon code (ou en partie):

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <?PHP include_once "libs/functions.inc"; global $rs, $result, $queues_number ; $queue = trim($_POST['queue']); $template = trim($_POST['template']); $refresh = trim($_POST['refresh']); get_queues_value(); scan_queues(); if($_POST) { $_SESSION['post'] = $_POST; } ?> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> <?PHP echo '<meta http-equiv="Refresh" content="'.$refresh.'"'; ?> > <title> <?PHP echo $queues_number[$queue]; ?> </title> </head> <body> ..etc..
En faite, je voudrait garder:

Code : Tout sélectionner

$queue = trim($_POST['queue']); $template = trim($_POST['template']); $refresh = trim($_POST['refresh']);
Au prochain refresh.

Que me conseillez vous?
Qu'est-ce qui cloche ?

Merci de votre aide.

Franck