Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/03/2011, 18h00   #1
Nouveau Membre du Club
 
Inscription : décembre 2006
Messages : 151
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 151
Points : 37
Points : 37
Par défaut perte variable au rechargement formulaire upload

salutatous,

j'ai un fichier comportant à la fois mon formulaire d'upload et le code qui traite ce formulaire.

dans ce fichier, je récupère le contenu d'une variable $login passée dans l'URL, comme ceci :

Code :
1
2
$login = $_GET['login'];
echo $login . '<br />';
le formulaire d'upload est quant à lui comme suit :

Code :
1
2
3
4
5
6
7
8
<form enctype="multipart/form-data" action="<?php echo basename(__FILE__); ?>" method="post">
 
<?php echo '<strong><font color="#FF0000">' . $message . '</strong></font>'; ?>
 
<input type="file" name="portrait" size="60">
<input type="submit" name="formulaire_portrait" value="Uploader">
 
</form>
toutes mes vérifications sur le fichier à uploader fonctionnent correctement (type, taille...)

MON PROBLEME :

si l'une de mes vérifications m'affiche par exemple que le fichier à uploader est trop gros, ça recharge la page de mon formulaire... et HOP je perd le contenu de ma variable $login !

comment faire pour ne pas la perdre au rechargement de ma page ?

j'ai aussi transformé ma variable $login en variable de session, mais c'est pareil...

merci de vos lumières
nicomax34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2011, 19h04   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 014
Points : 5 014
$login devrait effectivement partir sur la session.
Si tu dois conserver une variable en passant pas un formulaire, tu as deux options:
- soit tu mets cette variable dans $_GET en la mettant dans l'attibut action de la balise form
- soit tu mets cette variable dans un input caché

Solution 1:
Code :
1
2
 
<form action="ma_page.php?login=<?=$login?>">
Solution 2:
Code :
1
2
 
<input type="hidden" name="login" value="<?=$login?>" />
Ainsi, tu fais "transiter" ta variable.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2011, 19h19   #3
Nouveau Membre du Club
 
Inscription : décembre 2006
Messages : 151
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 151
Points : 37
Points : 37
merci Benjamin,
ça fonctionne parfaitement
nicomax34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h46.


 
 
 
 
Partenaires

Hébergement Web