begin process at 2012 05 31 16:33:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

Réaffichage d'un formulaire


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Réaffichage d'un formulaire

jeudi 31 mai 2007 à 14:39:57 | Réaffichage d'un formulaire

ninoy

Bonjour!

Je suis en train de créer un formulaire,et j'ai quelques problèmes...
Pour commencer, mon formulaire contient 2 input type text, un textarea et un champ type=file pour l'upload d'images.
Je tiens à signaler que ne pouvant pas imbriquer un formulaire dans un autre, j'ai choisi d'ajouter ce script dans mon formulaire default.tpl : (aussi, pour compliquer les choses, j'utilise les templates, c'est la page index.php(avec toutes les fonctions) qui appelle la page default)

<SCRIPT language='JavaScript'>
include("http://***.phpnet.org/***/***/***/uploadimg.php");
</SCRIPT>

Je poste ce message car je n'arrive pas à afficher l'image juste uploadée dans le formulaire default.tpl. Voici des bouts de codes pour vous montrer ce qu'il en est :

uploadimg.php :
<form method="POST"  ENCTYPE="multipart/form-data" action="">
    <input type="file" name="fichier_upload" size="38" />&nbsp;
    <input type="submit" name="add_file" value="add a file"/><br />
    <b>Browse your computer to add an image</b> <br /><em>(.jpg/jpeg, .gif, .png only - 1Mo max.)</em><br />                           
</form>


//[...] Test du type et de la taille de l'image + redimension
// si le fichier est plus petit que $taille_max pas besoin de le miniaturiser
}
else {
$nom_fichier_reduit = $fichier_n_nom;
}
/*************************************
nom du fichier non reduit :$fichier_n_nom
nom du fichier reduit :$nom_fichier_reduit
*************************************/
// transfert ok   
echo "<font color=\"#aaaaaa\">You well added your image.</font><br />";
//afichage
$t=new template;
if (!empty($_POST)) {
    if (isset($_POST['add_file'])) {
        $chemin="upload/\".$fichier_n_nom";
        if(is_file("upload/mini/mini_".$fichier_n_nom))
            $image="upload/mini/mini_".$fichier_n_nom;
        else $image="upload/".$fichier_n_nom;
            //affiche l'image dans le formulaire
            echo "<a href=\"$chemin\" target=\"_blank\"><img src=\"$image\" alt=\"uploaded image\" border=0/></a>";
        $arr["chemin"]=$chemin;
        $arr["image"]=$image;
    }        
}
    $this->content=$t->tplparse($arr,"write");

   
default.tpl:
<a href="{chemin}" target="_blank"><img src="{image}" alt="uploaded image" border=0/></a><br/>

Hélas, mon image ne s'affiche pas, et pire mon formulaire non plus.
Je voulais donc savoir si c'est le script d'upload de l'image qui doit être placé autre part que dans uploadimg.php avec son formulaire, comme par exemple dans index.php avec les autres fonctions. Ou est-ce dû à une autre erreur de ma part.

Merci d'avance pour vos réponses.
mercredi 6 juin 2007 à 10:15:39 | Re : Réaffichage d'un formulaire

ninoy

Réponse acceptée !
Bonjour,

Grâce à l'aide d'une autre personne j'ai pu trouver ce que je chercher.
Rappel du problème : réaffichage d'un formulaire, et gestion de 2 submit.
Voici la solution : 3 étapes
<?
// on réoriente vers l'étape par défaut
if (!isset($_POST['action']))
{$action="etape1";}
else{$action=$_POST['action'];}

// on récupère les variables si elles sont postées
//fichier upload
if (!isset($_POST['fichier_upload'])){$fichier_upload="";}else{$fichier_upload=$_POST['fichier_upload'];}
//autres variables
if (!isset($_POST['***'])){$***="";} else{$***=$_POST['***'];}
...
// on entre dans la bonne étape de notre processus
	if ($action=="etape1"){
// maintenant on va faire l'upload
// pour éviter d'utiliser tout le temps echo on va sortir du script php et utiliser de l'html
?>
<FORM action="index.php?writer" ENCTYPE="multipart/form-data" METHOD="POST" name="formetape1">
<INPUT TYPE=HIDDEN NAME="action" value="etape2" />
<INPUT TYPE=FILE NAME="fichier_upload" value="envoi_image" size="33" />
<INPUT TYPE=SUBMIT name="add_file" value="Add a file" />
</FORM>;
<?
// on rerentre dans le script php de l'étape 1
}// fin de l'étape 1
Partie 2
	if ($action=="etape2"){
// si tu entre ici c'est que tu a posté le formetape1
// tu peux tester tes variables en mettant des commandes echo de ce type
// echo"$fichier_upload";

/*
//SCRIPT UPLOAD D'IMAGES !
*/

// pour éviter d'utiliser tout le temps echo on va sortir du script php et utiliser de l'html
//affichage de l'image où vous voulez dans le formulaire
?><FORM action="index.php?writer" METHOD="POST" name="formetape2">
<INPUT TYPE=HIDDEN NAME="action" value="etape3" /><br/>
<input type="text" name="title" value=""/> Title
<input type="text" name="namea" value=""/> Your Name<br />
Content<br/>
<textarea name="content" cols="60" rows="10"><?/*moi j'ai mis le chemin dans le content*/ echo $lienimg?></textarea><br/>
<input type="submit" value="ajouter article (log)" />
</FORM>
<?
// on rerentre dans le script php de l'étape 2
}// fin de l'étape 2
Partie 3
	if ($action=="etape3"){
// ici on complète le fichier log
if(isset($_POST["title"])&&isset($_POST["namea"])&&isset($_POST["content"])) {
// enregistrer votre formulaire
/*
CODE POUR LOG
*/
// là tu le remercies
echo "Ajouté, BRAVO!";
}
}// fin de l'étape 3
?>

Voilà.


Cette discussion est classée dans : fichier, php, upload, formulaire, image


Répondre à ce message

Sujets en rapport avec ce message

UPLOAD -> comment faire???? [ par attentio ] salut !!!! je voudrais savoir comment faire pour uploader un fichier.j'ai commencé quelques petites choses. en fait, j'ai un premier fichier nommé for Upload d'une image sans formulaire [ par djangoboy ] Bonjour à tous, Vous vous dites surement "encore un upload" mais c'est pas tout a fait pareil que les autre post. Imaginons qui j'ai une variable dan Formulaire html + php [ par jcheseaux ] Bonjour ! Voila mon problème, j'ai créer un formulaire HTML gérant l'upload de fichier. Le problème, c'est que lors de l'envoie des variables depuis m Inclure un lien php nécessitant de transmettre des informations venant d'un formulaire (method = post) [ par rhoo ] Bonjour à tous, Comme je l'exprime dans le titre de ce sujet, j'aimerais savoir comment je pourrais inclure une page venant d'un site "extérieur" dan Récupérer un fichier image d'un formulaire [ par stephelle ] Bonjour, J'ai créer un formulaire en html qui renvoi les infos vers une page php qui me les envoi par mail. Jusque là tout fonctionne. Le problème vi formulaire [ par nicodonat ] bonjour j'ai voulu créer un formulaire pour mon site .Normalement le message doit arriver directement dans ma boite mail.C'est le cas c'est déjà ça l téléchargement de fichier de puis serveur [ par nouvinfo ] Bonjour, Je suis un novice. voici ce que je fais: J'ai crée un formulaire dans une page.php ('formulaire_entrer_donnee.php'). Ce formulaire permet d soucis de formulaire d'envoie de fichier et checkbox [ par belzebate ] Bonjour/bonsoir tout le monde, Alors voici ma situation: J'ai un formulaire d'envoi de fichier suivis, dans ce même formulaire, d'une liste de 6 che lier le formulaire upload avec un autre formulaire [ par maxwellcs ] Bonsoir a tous!! Déja une petite question est-il possible de rassembler dans un meme formulaire , un upload et des donnees a saisir?? Si la réponse Upload de fichier par formulaire [ par stevo77 ] Salut à tous, j'ai un probleme dans un script d'upload de formulaire: Des que j'essaye de charger un fichier plus gros que 2-3 mo, j'ai une erreure de


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,310 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales