Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: fseek le le 20-11-2012 a 18:50:34

Titre: probleme formulaire
Posté par: fseek le le 20-11-2012 a 18:50:34

bonjour,
jai un petit soussi qui est plutot enbetent,
j'ai crée un formulaire où l'utilisateur est obliger de mettre une photo
(avec ce code ci-dessou)

<input type="hidden" name="MAX_FILE_SIZE" value="12345" />
<label for="icone">-photo du jeu(JPG, PNG)*</label> : <input type="file" name="icone" id="icone" required /><br /><br/>

sur ma page de recuperation des information demander a l'utilisateur sur le formulaire jai mis se code ci-dessou pour pouvoir afficher l'image qui ete demander


<strong>photo:</strong> <?php echo ($_POST["icone"]); ?><br/><br/>

probleme ceci fonction pas pourquoi?

merci pour vos futur reponce

Titre: Re:probleme formulaire
Posté par: GuillaumeRoos le le 20-11-2012 a 19:09:52

Bonjour,

Je n'ai pas regardé le code en détail mais, déjà, l'image ne peut pas s'afficher avec echo ($_POST["icone"]);.

Le code correct : echo '<img src="'.$_POST["icone"].' />';

:)

Titre: Re:probleme formulaire
Posté par: fseek le le 20-11-2012 a 19:58:57

jai modifier la partie du code avec la tien et sa fais tous beuguer

Titre: Re:probleme formulaire
Posté par: GuillaumeRoos le le 20-11-2012 a 20:08:12

Au temps pour moi, j'ai oublié un ". Le code correct pour afficher l'image :

echo '<img src="'.$_POST["icone"].'" />';

Titre: Re:probleme formulaire
Posté par: fseek le le 20-11-2012 a 21:30:03

oui mai aven il faud pas ajouter ceci ?
<? php ton code ?>

Titre: Re:probleme formulaire
Posté par: fseek le le 20-11-2012 a 21:33:29

bon fnialement jai mis sa :
<?php echo '<img src="'.$_POST["icone"].'" />';?><br/>
et magie sa fonctionne ... presque
il me maffiche juste un carrer avec ecrit image dedans

Titre: Re:probleme formulaire
Posté par: GuillaumeRoos le le 20-11-2012 a 22:44:41

Décidément, je n'ai vraiment pas pris le temps de lire. Ça ne peut pas fonctionner comme ça. En fait, tu ne peux pas récupérer ton image avec $_POST['icone'].

A la sortie d'un formulaire d'upload, ton image doit être placée par le script dans un dossier sur le serveur. C'est cette image qu'il faut appeler. Ce sera donc un code de type :

<?php echo '<img src="dossier_d'upload/nom_de_l'image" />'; ?>

Il faut récupérer le nom de l'image et son emplacement sur le serveur pour que le script php puisse l'afficher. On ne peut pas récupérer directement le contenu d'un champ 'file' dans un script.

Titre: Re:probleme formulaire
Posté par: fseek le le 20-11-2012 a 22:55:50

le dossier: dossier_d'upload je doi le mettre dans le dssier www?

Titre: Re:probleme formulaire
Posté par: GuillaumeRoos le le 20-11-2012 a 23:00:55

Citation de: fseek le le 20-11-2012 a 22:55:50
le dossier: dossier_d'upload je doi le mettre dans le dssier www?



Je ne sais pas. Tu dois bien savoir vers quel dossier pointe ton script, non ?

Titre: Re:probleme formulaire
Posté par: fseek le le 20-11-2012 a 23:23:37

mais finalement se code

<input type="hidden" name="MAX_FILE_SIZE" value="12345" />
<label for="icone">-photo du jeu(JPG, PNG)*</label> : <input type="file" name="icone" id="icone" required /><br /><br/>

il upload ou ?

Titre: Re:probleme formulaire
Posté par: WebD le le 21-11-2012 a 02:53:06

Petit leçon sur l'upload de fichier:
Un input de type file renvoi un tableau et non pas simplement le fichier.
Voici les éléments de ce tableau:

Code:

$_FILES['icone']['name'] //Le nom original du fichier,
$_FILES['icone']['type'] //Le type du fichier.
$_FILES['icone']['size'] //La taille du fichier en octets.
$_FILES['icone']['tmp_name'] //L'adresse vers le fichier dans le répertoire temporaire.
$_FILES['icone']['error'] //Le code d'erreur, pour savoir si le fichier a bien été uploadé.


Le problème c'est que tu ne peux pas utiliser directement le fichier qui est dans répertoire temporaire car celui-ci est supprimé après l’exécution du script.
Tu dois donc d'abord le copier dans un répertoire de ton serveur.

Voici le code final:

Code:

$resultat = move_uploaded_file($_FILES['icone']['tmp_name'],"images_uploaded/".$_FILES['icone']['name'] );
if($resultat)
echo '<img src="images_uploaded/'.$_FILES['icone']['name'].' />';


Libre à toi de personnaliser ce code.

A+

Titre: Re:probleme formulaire
Posté par: fseek le le 21-11-2012 a 03:12:23

le tableau je dois le mettre sur ma page de traitement du formulaire ou sur une autre page au forma .php?

Titre: Re:probleme formulaire
Posté par: WebD le le 21-11-2012 a 03:39:10

Tu ne dois pas les mettre.
C'est simplement les informations qui te sont renvoyés par le formulaire.

Titre: Re:probleme formulaire
Posté par: fseek le le 21-11-2012 a 03:55:28

Citation de: WebD le le 21-11-2012 a 03:39:10
Tu ne dois pas les mettre.
C'est simplement les informations qui te sont renvoyés par le formulaire.


la jai du mal a te suivre , dans mon code formulaire.php on est d'accore que je mes:

<input type="hidden" name="MAX_FILE_SIZE" value="12345" />
<label for="icone">-photo du jeu(JPG, PNG)*</label> : <input type="file" name="icone" id="icone" required /><br /><br/>

ensuite sur mon code traitement-des-information.php je mes:

<?php
$_FILES['icone']['name'] //Le nom original du fichier,
$_FILES['icone']['type'] //Le type du fichier.
$_FILES['icone']['size'] //La taille du fichier en octets.
$_FILES['icone']['tmp_name'] //L'adresse vers le fichier dans le répertoire temporaire.
$_FILES['icone']['error'] //Le code d'erreur, pour savoir si le fichier a bien été uploadé.
            
$resultat = move_uploaded_file($_FILES['icone']['tmp_name'],"images_uploaded/".$_FILES['icone']['name'] );
if($resultat)
echo '<img src="images_uploaded/'.$_FILES['icone']['name'].' />';
<?

Titre: Re:probleme formulaire
Posté par: WebD le le 21-11-2012 a 09:18:10

Il faudrait que tu apprennes les bases du php.
Quand tu fais un formulaire avec un champ text tu récupères bien le champ dans $_POST["text"]?
Et bien avec un fichier c'est pareil mais tu récupères:
$_FILES['icone']['name'] //Le nom original du fichier,
$_FILES['icone']['type'] //Le type du fichier.
$_FILES['icone']['size'] //La taille du fichier en octets.
$_FILES['icone']['tmp_name'] //L'adresse vers le fichier dans le répertoire temporaire.
$_FILES['icone']['error'] //Le code d'erreur, pour savoir si le fichier a bien été uploadé.

Titre: Re:probleme formulaire
Posté par: GuillaumeRoos le le 21-11-2012 a 09:37:09

Même remarque que WebD.

Au départ, j'ai cru que le problème, c'était juste de trouver une erreur dans le code, d'où mes réponses courtes, mais si tu ne connais pas les bases du php, tu n'arriveras pas à comprendre de quoi nous te parlons juste en recopiant des bouts de code dans des fichiers. Un ; ou un " mal placé quelque part dans le fichier et rien ne marche plus. Si tu ne connais pas le langage dans sa globalité, tu n'arriveras pas à savoir où ça coince.

Si tu cherches sur le web, tu devrais pouvoir trouver des tutoriels assez complet sur les formulaires et le traitement de données et de fichiers. Par contre, ne t'attends pas à tout comprendre en 5 minutes. Si tu ne connais pas le php, il va falloir bosser un peu en amont avant de maîtriser cette partie.

Bon courage.

Titre: Re:probleme formulaire
Posté par: fseek le le 21-11-2012 a 10:41:13

oui je sais c pour sa que j'utilise tout le temps le site du zero le probleme c'est vrement pour recuperer c'est information de ficher uplode ou la je suis totalement "pommer" pourtent c'est pas comme si je bosser pas dessu sa fait 3 jours que je suis sur se probleme


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.