Récupéré la valeur d'un champs file

Rechercher

Récupéré la valeur d'un champs file

Par ZikoNFS  -  10 reponses  -  Le 14/08/2008 22:15  -  Editer  - 

Bonjour,

j'ai un formulaire d'upload d'images. Si l'utilisateur recharge la page j'aimerais que l'url de l'image qu'il a choisi s'inscrit dans le champ de type file.

Comment faire ?

Merci.

 

Réponses apportées à cette discussion

Par JeremyB9  -  Le 14/08/2008 23:34  -  Haut de page  - 

Bonjour,

D'abord, on va détailler un peu tout ça avant que je dise des bétises. Tu aimerais qu'un membre puisse uploader une image sur ton site. Pour celà, il devra parcourir son ordinateur grâce au bouton adéquat, et lorsqu'il a trouvé, une adresse s'affiche dans le champs file. Jusque là, je pense qu'on est tous d'accord.

Par contre, quand tu dis recharger la page, c'est avant ou après qu'il est validé ? (je pense que tu parles avant qu'il est validé) Si c'est le cas, je ne pense pas que c'est possible de le faire en php, mais plutôt en Javascript (côté client). Si Javascript peut lire ce que tu mets dans le champs file, puis l'enregistrer dans une session ou autre (je ne sais pas comment fonctionne Javascript), tu pourras sans doute réafficher l'Url. Mais en php, je crois que ce n'est pas faisable, tout simplement car php agit au niveau server et pas client.

Attendons une réponse de quelqu'un de plus confirmé que moi ! ^^

 
Par Emacs  -  Le 15/08/2008 13:32  -  Haut de page  - 

Salut,

Récupérer la valeur d'un champ file est impossible pour des raisons de sécurité. D'autre part à quoi cela t'avancerait d'avoir cette valeur ?

++

Hugo.

 
Par ZikoNFS  -  Le 15/08/2008 17:19  -  Haut de page  - 

Salut,

Dans le formulaire, il y a plusieurs champs. Il y a des champs obligatoires et des champs facultatifs. Quand l'utilisateur valide le formulaire (submit), PHP vérifie par if(isset()) et par if(!empty()) et réaffiche la page avec une erreur si l'utilisateur n'a pas saisie tous les champs obligatoires. Quand PHP recharge la page, je veux que les champs que l'utilisateur a déjà saisie gardent leurs valeurs. Pour mon cas je veux que le champs de type FILE garde sa valeur.

Merci

 
Par JeremyB9  -  Le 15/08/2008 18:31  -  Haut de page  - 

Quand PHP recharge la page, je veux que les champs que l'utilisateur a déjà saisie gardent leurs valeurs. Pour mon cas je veux que le champs de type FILE garde sa valeur.

 

Alors je te propose de mettre ses informations dans les sessions, et les mettre dans le champs file lorsque tu en as besoin. (si j'ai bien compris ton problème)

 
Par Emacs  -  Le 15/08/2008 19:23  -  Haut de page  - 

Dans le formulaire, il y a plusieurs champs. Il y a des champs obligatoires et des champs facultatifs. Quand l'utilisateur valide le formulaire (submit), PHP vérifie par if(isset()) et par if(!empty())

!empty() suffit. Pas la peine d'utiliser isset() si tu utilises empty() car empty() fait le même travail que isset().

Quand PHP recharge la page, je veux que les champs que l'utilisateur a déjà saisie gardent leurs valeurs. Pour mon cas je veux que le champs de type FILE garde sa valeur.

Impossible pour les champs FILE. Tu imagines la faille de sécurité si on pouvait fixer à l'avance le chemin du fichier que l'on veut récupérer ? Les champ file ne peuvent prendre leur valeur que par appui sur le bouton "parcourir". Par cette action, c'est l'utilisateur qui donne son autorisation pour envoyer des fichiers présents sur son poste.

++

 
Par ZikoNFS  -  Le 15/08/2008 19:59  -  Haut de page  - 

Merci pour vos réponses.

 

Je n'ai qu'à avetir l'utilisateur de re-uploader son fichier. ( Même si ce n'est pas le but )

 
Par ZikoNFS  -  Le 15/08/2008 20:18  -  Haut de page  - 

(Hors Sujet)

Quand l'utilisateur recharge la page, le navigateur propose une messagebox qui invite l'utilisateur de Renvoyer ou de Annuler.

Comment éviter que l'utilisateur renvoie les informations.

Merci

 
Par Emacs  -  Le 16/08/2008 15:04  -  Haut de page  - 

Quand l'utilisateur recharge la page, le navigateur propose une messagebox qui invite l'utilisateur de Renvoyer ou de Annuler.

Il faut que tu fasses une redirection côté serveur avec header()

 
Par ZikoNFS  -  Le 16/08/2008 18:51  -  Haut de page  - 

Ce que ça me donne c'est ça :

Cannot modify header information - headers already sent by (output started at C:\wamp\www\monsite_menu.php:60) in C:\wamp\www\monsite\mapage.php on line 26

Merci pour votre aide.

 
Par Emacs  -  Le 17/08/2008 02:57  -  Haut de page  - 

Il faut appeler header() avant tout envoi au navigateur, c'est à dire avant tout echo(), print(), balise html ou espace blanc.

 

Ajouter une réponse à la discussion

Seuls les membres connectés sont autorisés à poster dans les forums !

Identifiez-vous
Join |  ID/MDP? |