PHP-Plusieurs formulaire, un seul "valider"
Résolu/Fermé
A voir également:
- PHP-Plusieurs formulaire, un seul "valider"
- Formulaire de réclamation facebook - Guide
- Mettre plusieurs pdf en un seul - Guide
- Easy php - Télécharger - Divers Web & Internet
- Formulaire instagram compte suspendu - Guide
- Retour a la ligne php ✓ - Forum PHP
4 réponses
lewindowsien
Messages postés
7
Date d'inscription
vendredi 21 mai 2010
Statut
Membre
Dernière intervention
21 mai 2010
21 mai 2010 à 14:54
21 mai 2010 à 14:54
Tout d'abord bonjour à toi,
le problème c'est que quand tu mets un submit dans un formulaire tu vas valider uniquement le formulaire dans lequel est le dit bouton. Je te conseil de n'utiliser donc dans un premier temps qu'un seul formulaire (bien sûr si tu veux tout faire en même temps) et de ne pas utiliser des boutons submit partout. Le bouton submit est destiné à la Validation du formulaire, dans ton exemple ici ça serait de lancer l'upload. Tu peux utiliser des bouton de types button associer a une action JavaScript pour tes boutons retour et continuer etc.... En espérant t'avoir éclairé :).
Bonne journée à toi.
le problème c'est que quand tu mets un submit dans un formulaire tu vas valider uniquement le formulaire dans lequel est le dit bouton. Je te conseil de n'utiliser donc dans un premier temps qu'un seul formulaire (bien sûr si tu veux tout faire en même temps) et de ne pas utiliser des boutons submit partout. Le bouton submit est destiné à la Validation du formulaire, dans ton exemple ici ça serait de lancer l'upload. Tu peux utiliser des bouton de types button associer a une action JavaScript pour tes boutons retour et continuer etc.... En espérant t'avoir éclairé :).
Bonne journée à toi.
Merci de ta réponse et tu as parfaitement raison.
je cherchais à lier mon bouton "continuer" à mes champs d'uploads alors qu'en fait il fallait que j'intègre ce bouton au formulaire ce que je viens d'arriver à faire :
<form method="post" action="traitement.php" enctype="multipart/form-data">
<p>
<?php
//boucle pemettant d'afficher les formulaires de téléchargement des factures EDF
//pour chaque mois
for($i=0;$i<$nb_mois;$i++)
{
echo'<label for="mois">';
afficherMois($i);
echo'</label>';
echo'<br /><INPUT type=file name="facture'.$i.'" id="mois"><br />';
}
?>
Veuillez importer le relevé RMET :
<input type="file" name="releve">
<input type="submit" value="Envoyer le fichier" />
</p>
</form>
ça marche impeccablement.
Le seul point négatif c'est que mes champs "facture", "releve" et mon bouton "envoyer" n'ont plus de div unique donc la mise en page a changé.
Je vais chercher une solution.
je cherchais à lier mon bouton "continuer" à mes champs d'uploads alors qu'en fait il fallait que j'intègre ce bouton au formulaire ce que je viens d'arriver à faire :
<form method="post" action="traitement.php" enctype="multipart/form-data">
<p>
<?php
//boucle pemettant d'afficher les formulaires de téléchargement des factures EDF
//pour chaque mois
for($i=0;$i<$nb_mois;$i++)
{
echo'<label for="mois">';
afficherMois($i);
echo'</label>';
echo'<br /><INPUT type=file name="facture'.$i.'" id="mois"><br />';
}
?>
Veuillez importer le relevé RMET :
<input type="file" name="releve">
<input type="submit" value="Envoyer le fichier" />
</p>
</form>
ça marche impeccablement.
Le seul point négatif c'est que mes champs "facture", "releve" et mon bouton "envoyer" n'ont plus de div unique donc la mise en page a changé.
Je vais chercher une solution.
lewindowsien
Messages postés
7
Date d'inscription
vendredi 21 mai 2010
Statut
Membre
Dernière intervention
21 mai 2010
21 mai 2010 à 15:36
21 mai 2010 à 15:36
N'oublie pas de marquer le sujet comme résolu si tel est le cas :).
Bon j'ai réussi à obtenir la même mise en page qu'au départ en trichant.
Au niveau c'est pas très joli et IE n'aime pas non plus mais j'ai pas trouvé d'autre solution.
Je met mon code avec le CSS qui va bien pour ceux qui aurait une autre solution.
<form method="post" action="traitement.php" enctype="multipart/form-data">
<p>
<!--bloc contenant le cadre téléchargement fichiers EDF-->
<div class="fichierEDF">
Veuillez importer les factures EDF :<br /><br />
<?php
//boucle pemettant d'afficher les formulaires de téléchargement des factures EDF
//pour chaque mois
for($i=0;$i<$nb_mois;$i++)
{
echo'<label for="mois">';
afficherMois($i);
echo'</label>';
echo'<br /><INPUT type=file name="facture'.$i.'" id="mois"><br />';
echo'<br /';
}
?>
</div>
<div class="fichierRMET">
Veuillez importer le relevé RMET :<br /><br />
<input type="file" name="releve">
</div>
<div class="btn_accueil">
<input type="submit" value="Continuer" class="style_btn" /><br />
</p>
</form>
<form action="index.php">
<p>
<input type="submit" value="Retour" name="btn_retour" class="style_btn" /><br />
</p>
</form>
</div>
CSS :
.corps
{
/*border : solid;*/
width : 585px;
margin-left: auto;
margin-right: auto;
position : relative;
}
.style_btn
{
/*border : solid;*/
width : 130px;
margin : 10px;
padding : 10px;
border-width: 3px;
}
.fichierEDF
{
border : solid;
border-style : ridge;
margin : 10px;
padding : 10px;
width : 250px;
}
.fichierRMET
{
border : solid;
border-style : ridge;
padding : 10px;
width : 250px;
position : absolute;
left : 300px;
top : 10px;
}
.btn_accueil
{
/*border : solid;*/
position : absolute;
left : 370px;
top : 175px;
width:150px;
}
@lewindowsien : je m'en occupe de suite !
Au niveau c'est pas très joli et IE n'aime pas non plus mais j'ai pas trouvé d'autre solution.
Je met mon code avec le CSS qui va bien pour ceux qui aurait une autre solution.
<form method="post" action="traitement.php" enctype="multipart/form-data">
<p>
<!--bloc contenant le cadre téléchargement fichiers EDF-->
<div class="fichierEDF">
Veuillez importer les factures EDF :<br /><br />
<?php
//boucle pemettant d'afficher les formulaires de téléchargement des factures EDF
//pour chaque mois
for($i=0;$i<$nb_mois;$i++)
{
echo'<label for="mois">';
afficherMois($i);
echo'</label>';
echo'<br /><INPUT type=file name="facture'.$i.'" id="mois"><br />';
echo'<br /';
}
?>
</div>
<div class="fichierRMET">
Veuillez importer le relevé RMET :<br /><br />
<input type="file" name="releve">
</div>
<div class="btn_accueil">
<input type="submit" value="Continuer" class="style_btn" /><br />
</p>
</form>
<form action="index.php">
<p>
<input type="submit" value="Retour" name="btn_retour" class="style_btn" /><br />
</p>
</form>
</div>
CSS :
.corps
{
/*border : solid;*/
width : 585px;
margin-left: auto;
margin-right: auto;
position : relative;
}
.style_btn
{
/*border : solid;*/
width : 130px;
margin : 10px;
padding : 10px;
border-width: 3px;
}
.fichierEDF
{
border : solid;
border-style : ridge;
margin : 10px;
padding : 10px;
width : 250px;
}
.fichierRMET
{
border : solid;
border-style : ridge;
padding : 10px;
width : 250px;
position : absolute;
left : 300px;
top : 10px;
}
.btn_accueil
{
/*border : solid;*/
position : absolute;
left : 370px;
top : 175px;
width:150px;
}
@lewindowsien : je m'en occupe de suite !