Récupéré la valeur d'un champs file
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
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 ! ^^
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.
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
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)
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.
++
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 )
(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
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()
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.
Il faut appeler header() avant tout envoi au navigateur, c'est à dire avant tout echo(), print(), balise html ou espace blanc.