disparition des $_POST

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 : disparition des $_POST

par Patriboom » 09 sept. 2007, 19:30

Ce me sera utile à moi aussi.
Je ne connaissais pas la fonction "Session".

par Sékiltoyai » 09 sept. 2007, 18:01

Le tableau $_POST est toujours défini, lorsqu'il n'y a aucune donnée envoyée en post, il est vide, mais défini. Donc il faut tester avec la fonction empty().

par hypno » 09 sept. 2007, 16:05

ok j'ai rien dit avec un :

if ($_POST) ça marche très bien.

merci à tous!

par hypno » 09 sept. 2007, 16:03

voilà j'ai donc fait:

if(isset($_POST))
{
$_SESSION['post'] = $_POST;
}

et cette fois, j'ai encore un problème:
php rentre toujours dans le if, même après un refresh, alors que mes variables POST sont toutes vides.

par Truc » 09 sept. 2007, 14:54

essaie avec :

Code : Tout sélectionner

Je veux $_POST mettre dans $_SESSION
PHP se débrouillera pour le reste :wink:

Soit tu prend variable par variable soit tu affectes à un sous tableau de session (pour plus de lisibilité):
 $_SESSION["post"][] = $_POST; // ou $_SESSION[] = $_POST;  
ou extract() ou la doc :)

par hypno » 09 sept. 2007, 13:34

j'ai essayé $_SESSION = $_SESSION + $_POST mais du coup les nouveaux $_POST n'écrasent pas les anciens $_SESSION, ce qui pose problème.

par Invité » 09 sept. 2007, 13:11

heu si je fais ça:

$_SESSION = $_POST

ça m'écrase toute mes autres variables de session :(

par Sékiltoyai » 09 sept. 2007, 12:31

Essaye $_SESSION = $_POST :D

par hypno » 09 sept. 2007, 10:30

voilà donc je fais ça pour chaque variable:

if(isset($_POST['var1']))
{
$_SESSION['var1'] = $_POST['var1'];
}

c'est ça, ou il y a un moyen plus simple?

par Sékiltoyai » 09 sept. 2007, 03:15

Ou plus simplement et proprement les sessions

par Patriboom » 09 sept. 2007, 02:42

Une façon de contourner le problème: envoyer tes infos contenues en POST dans l'URL nouveau. Tu les retrouveras en $_GET et lisibles dans la barre d'adresse.

Tu peux aussi les passer dans une autre "frame" en attendant le rafraîchissement.

Tu peux encore les entreposer dans une table temporaire de ta base de données.

disparition des $_POST

par hypno » 09 sept. 2007, 00:11

bonjour,
j'aimerais savoir comment éviter l'évaporation des variable $_post après un refresh de la page.
ca me pose de gros problème car j'aimerais découper les resulats du formulaire en plusieurs pages et pour le moment, quand je clic pour aller à la page suivante, toute mes $_POST disparaissent et j'obtiens donc une erreur.
merci.