JeuWeb - Crée ton jeu par navigateur
Aide multi Post + bouton image - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Aide multi Post + bouton image (/showthread.php?tid=4404)



Aide multi Post + bouton image - hercull - 21-03-2014

Bonjour je rencontre un problème avec mon code.

Je m'explique j'ai 2 formulaires dans une même page et je veux les envoyer en POST, normalement j'aurai fait:

if($_POST['name="submit1"'])
{
}

et

if( $_POST['name="submit2"'])
{
}

, pour différencier l’exécution du premier ou du second formulaire, mais à cela s'ajoute un bouton avec image donc:

<input src="images/bt-ok.png" type=image name="submit1" Value=submit1 />

Et la je ne peux plus utiliser la méthode précédente.

Je cherche une solution pour pouvoir gérer 2 formulaire en POST dans la même page avec cette contrainte de bouton image.
Merci.


RE: Aide multi Post + bouton image - Xenos - 21-03-2014

Salut,
Un input hidden me semble approprié. Ajoute un champ caché à chaque formulaire indiquant de quel type de formulaire il s'agit (ou indiquant le type de "commande" associée au formulaire, si on veut faire plus explicite encore):
Chaque formulaire de la page se voit ainsi doté d'un champ caché (non visible par l'utilisateur), qui définit la commande que ce formulaire exécute.


<form...>
<input type="hidden" name="commande" value="creer-personnage"/>
</form>
...
<form...>
<input type="hidden" name="commande" value="ajouter-item"/>
</form>


Attention: ne te base pas sur la commande pour en déduire que tous les champs associés sont valides Wink Exemple:

<form ...>
<input type="hidden" name="commande" value="changer-numero"/>
<input type="number" name="nombre" value="0"/>
</form>

if (isset($_POST['commande'])
{
/*
// NON!
if ($_POST['commande'] == "changer-numero")
{
echo('Vous avez choisi le nombre '.$_POST['nombre']);
// Rien ne garanti que "nombre" est défini
// rien ne garanti non plus que c'est un nombre!
}
*/
// OUI
if ($_POST['commande'] == "changer-numero")
{
if (!isset($_POST['nombre'] or !is_numeric($_POST['nombre']))
throw new Exception('Formulaire invalide!');

echo('Vous avez choisi le nombre '.(double)$_POST['nombre']);
// le test précédent assure que "nombre" existe, et que c'est un nombre
// le cast affichera la valeur entière de ce nombre.
}
}



RE: Aide multi Post + bouton image - php_addict - 21-03-2014

tu oubli isset:

if(isset($_POST['name="submit1"']))


RE: Aide multi Post + bouton image - niahoo - 21-03-2014

C'est $_POST['submit1'], il ne s'agit pas d'un sélecteur CSS.

(21-03-2014, 01:19 PM)php_addict a écrit : tu oubli isset:

if(isset($_POST['name="submit1"']))

C'est $_POST['submit1'], il ne s'agit pas d'un sélecteur CSS.


RE: Aide multi Post + bouton image - hercull - 21-03-2014

Génial sa marche nickel merci vous gérez!^^