JeuWeb - Crée ton jeu par navigateur
Probleme avec POST sous IE - 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 : Probleme avec POST sous IE (/showthread.php?tid=1228)

Pages : 1 2


Probleme avec POST sous IE - Kassak - 30-05-2007

Bonjour à vous, j'ia un probleme avec les formulaires en POST sous (cte grosse daube) IE...


En effet pour mon jeu, pour par exemple les monstre, le bouton attaquer est un formulaire qui envoie sur une page le nom du monstre qui est ensutie traité.

Sur mozilla tout va très bien, j'y est fait un petit truc, qui nous met un message d'erreur si on essaye d'afficher la page de traitement sans qu'il n'y est aucune données d'envoyées.


Sous Ie, a chaque clique j'obtient ce message d'erreur, les formulaires en Post, IE il n'en a apparement rien a faire.

Voici mes codes ( en gros)

mon formulaire en POST :

Code PHP :
<?php 
echo'<form action="attaquemonstre.php" method="post">
<input type= "hidden" name="idmonstre" value="'
.$data['id'].'" />
<input onmouseover="montre(3);" onmouseout="cache(3);" type= "image" border=1 src="image/attaque.gif" name="attaquermonstre" value="Attaque" onclick="submit"/></form>'
;

et la partie traitement de ma page attaquemonstre.php

Code PHP :
<?php 
if (isset($_POST['attaquermonstre']))
{
if (isset(
$_POST['idmonstre']))
{

//On fait le traitement


}
}
else{
echo
'PAS BIEN DE JOUER AVEC LA BARRE D\'ADRESSE!!!!!';
}


Merci de m'aider si vous savez;)



RE: Probleme avec POST sous IE - Dradge - 30-05-2007

Tu as essayé ton formulaire avec un input type="submit" sans utiliser de type="image" ???


RE: Probleme avec POST sous IE - naholyr - 30-05-2007

Un <input type="image" /> est automatiquement un bouton de soumission de formulaire. Il est strictement équivalent en terme d'effet à un <input type="submit" />.

Ton onclick="submit" :
- ne veut rien dire : dans un on*="code JS", le code JS doit être une action valide, soit un appel à une fonction, un return, un calcul, que sais-je, mais pas juste un mot comme ça.
- n'a aucune utilité : le bouton est déjà un bouton de soumission.

La différence c'est que sous Firefox il ignore l'erreur sur onclick="submit" (affiche la console d'erreurs quand tu fais du JS, ça t'apprendra beaucoup Wink) et suit le comportement "normal". Alors qu'IE est moins tolérant sur une erreur à ce niveau.

Donc : retire ton onclick="submit" et ça marchera partout Smile


RE: Probleme avec POST sous IE - Kassak - 30-05-2007

en remplacent les type image par type submit ca marche, mais comment je fais pour avoir mon image a la place du bouton alors?


RE: Probleme avec POST sous IE - Plume - 30-05-2007

Citation :Donc : retire ton onclick="submit" et ça marchera partout

:roll:


RE: Probleme avec POST sous IE - Kassak - 30-05-2007

Voui d'ailleur ce onclik je l'ai viré et ca n'a rien changé^^

Je ne sais meme pas ce qu'il vient faire la...


RE: Probleme avec POST sous IE - Plume - 30-05-2007

Fait un print_r($_POST) au lieu du message d'erreur.


RE: Probleme avec POST sous IE - Kassak - 30-05-2007

else{
echo'print_r($_POST)';
}

Comme ceci? Cela fait quoi?

Et comme je +fais alors pour avoir mon image comme bouton?


RE: Probleme avec POST sous IE - naholyr - 30-05-2007

Bah écoute pour moi, sans le onclick="submit" ton formulaire doit fonctionner correctement.

Tu gagnerais en lisibilité à sortir ton code HTML de ton code PHP :
Code PHP :
<?php

...

echo
'<form action="attaquemonstre.php" method="post">
<input type= "hidden" name="idmonstre" value="'
.$data['id'].'" />
<input onmouseover="montre(3);" onmouseout="cache(3);" type= "image" border=1 src="image/attaque.gif" name="attaquermonstre" value="Attaque" /></form>'
;

...

?>
Deviendra
Code PHP :
<?php

...

?>
<form action="attaquemonstre.php" method="post">
<input type= "hidden" name="idmonstre" value="<?php echo $data['id'] ?>" />
<input onmouseover="montre(3);" onmouseout="cache(3);" type= "image" border=1 src="image/attaque.gif" name="attaquermonstre" value="Attaque" /></form>'
<?php

...

?>



RE: Probleme avec POST sous IE - Plume - 30-05-2007

Un bon réflexe quand on ne connait pas une fonction, c'est encore d'aller consulter notre bible, la doc PHP..
Code PHP :
<?php 
else
print_r($_POST);