5 votes

Comment utiliser deux formulaires et les soumettre une seule fois ?

Est-il possible d'avoir deux formulaires avec deux boutons d'envoi de telle sorte que, lorsque je clique sur le bouton, les champs d'entrée des deux formulaires soient enregistrés ?

Je suis en train de résoudre ce problème en PHP / MySQL.

J'ai essayé à ma façon :

if ((isset($_POST["form-1"])) && (isset($_POST["form-2"])) {
    //SQL Insertion 
}

4voto

Pekka 웃 Points 249607

Non, vous ne pouvez soumettre qu'un seul formulaire à la fois.

Si vous devez utiliser deux formulaires, le seul moyen de le faire serait de cloner les champs du second formulaire dans le premier à l'aide de jQuery. Cela ne fonctionnera pas si JS est désactivé.

Véase Copie de formulaire à formulaire en jQuery

Pourquoi avez-vous besoin de deux formulaires ?

3voto

Lohoris Points 5349

Si vous rencontrez un tel problème, c'est que la conception est défectueuse.

Ce n'est pas pour rien que vous ne pouvez soumettre qu'un seul formulaire à la fois.

Modifiez la conception de manière à n'utiliser qu'un seul formulaire ; l'utilisation de solutions de contournement pour en soumettre deux de toute façon est une pratique horrible qu'il serait préférable d'éviter.

1voto

Kalyan02 Points 681

Une façon d'obtenir un résultat similaire serait de regrouper les deux formulaires en un seul et d'avoir deux boutons d'envoi avec des valeurs différentes et la même valeur. name="submit" champ.

toFoo.html :

<form action="doFoo.php">
    User <input type="text" name="username" />
    Pass <input type="password name="password" />

    <!-- Submit one -->
    <input type="submit" name="submit" value="Create user" />

    <!-- some more of your fields or whatever -->
    <input type="text" name="blah" value="bleh" />

    <!-- Submit two -->
    <input type="submit" name="submit" value="Login user" />
</form>

doFoo.php :

<?php
if( $_POST["submit"] == "Login user" ) {
    //do login foo    
}
if( $_POST["submit"] == "Create user" ) {
    //do signup foo 
}
?>

0voto

rojoca Points 5454

Vous pourriez soumettre les deux formulaires en même temps via Ajax mais votre script php ne recevrait qu'un seul formulaire à la fois. Il vaut mieux convertir vos 2 formulaires en un seul grand formulaire si vous avez besoin que toutes les entrées aillent à un seul script.

0voto

Rob Points 2364

Pour autant que je sache, un seul formulaire peut être soumis à la fois. Vous pouvez essayer de les regrouper dans un seul formulaire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X