2 Submit 1 form bug avec IE

Eléphanteau du PHP | 10 Messages

19 mars 2009, 22:05

Bonjour,

Alors voila après avoir passé toute la journée dessus je bute sur une form avec 2 boutons submit :
-bouton 1 : Mettre à jour
-bouton 2 : Aperçu

Tout marche bien sur Firefox mais sur IE après avoir cliqué sur un bouton page blanche,
j'ai l'impression que le php ne s'affiche pas, HELP !

J'utilise la form suivante :

Code : Tout sélectionner

<form class="right" action="action_edit_fiche.php" method="post" name="fiche" target="_blank"> <fieldset class="right"> <p class="right"> <label for="nom" class="right">Nom du logiciel :</label> <br ><input class="right3" style="margin-left:10px" type="text" name="nom" id="nom" size="30" maxlength="34" value="<?php echo $retour['nom']; ?>" > <em class="right">(34 caractères max)</em><br > <input type="hidden" name="nom2" id="nom2" value="<?php echo $retour['nom']; ?>" > [...] <div> <input type="Image" src="../images/b_update.png" width="89" height="29" alt="" border="0" hspace="10" vspace="5" align="absmiddle" name="action" value="maj"> <input type="Image" src="../images/b_view.png" width="89" height="29" alt="" border="0" hspace="10" vspace="5" align="absmiddle" name="action" value="apercu"> </div> <script language="Javascript" type="text/javascript"> LimiterTextArea('descc', 2300, 'controle_decompte2'); LimiterTextArea('desc', 230, 'controle_decompte'); </script> </form>
Dans ma page action_edit_fiche.php :
<?php
session_start();
ini_set("url_rewriter.tags","" );
include('../includes/fonctions.php');
include('../includes/config.php');
connexionbdd();
actualiser_session();

if(!isset($_SESSION['membre_id']))
{
header('refresh: 2; url=' .ROOTPATH.'/membres/inscription.php');
}

if($_POST['action'] == "maj"){
include('trait_edit_fiche.php');
}
if($_POST['action'] == "apercu"){
include('apercu_edit_fiche.php');
}
?>
Mes pages trait_edit_fiche.php et apercu_edit_fiche.php contiennent
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html><head><body>.. et du php

Merci Beaucoup

ViPHP
ViPHP | 1996 Messages

19 mars 2009, 22:29

Quand tu dis page blanche ? rien du tout ?
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphanteau du PHP | 10 Messages

19 mars 2009, 22:37

merci Aureusms de répondre :)

Quand je dit page blanche c'est vraiment page blanche
la source de la page blanche :

Code : Tout sélectionner

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=Content-Type content="text/html; charset=windows-1252"></HEAD> <BODY></BODY></HTML>
alors que d'en firefox aucun bug

Avatar du membre
ViPHP
ViPHP | 3008 Messages

19 mars 2009, 22:45

A quoi sert target="_blank" dans ton <form> ? C'est une source possible de ton erreur.

Eléphanteau du PHP | 10 Messages

19 mars 2009, 22:46

le target="_blank" c pour ouvrir une popup un nouvel onglet mais le problème n'est pas la j'ai aussi tester sans et toujours pareil FF ok mais pas IE

édit: J'ai trouvé l'erreur :) simplement le type des boutons j'ai mis Submit et tout marche très bien il semblerais que sous ie le type Image ne renvoi pas les même donnée au server mais les coordonée X et Y des.J'ai vu qu'il y avais moyen de récupéré les données mais je ne comprend pas très bien comment si quelqu'un peut m'éclaircir.

Ou si quelqu'un a un autre moyen pour mettre une image a mon bouton submit ,j'ai déjà essayé le javascript mais pareil que le type Image.

Merci

édit : Enfin Fini :) pour ceux que sa intéresse voila la solution :

mes 2 boutons input :
<input type="image" src="../images/b_update.png" width="89" height="29" alt="" border="0" hspace="10" vspace="5" align="absmiddle" name="action[maj]" >

<input type="Image" src="../images/b_view.png" width="89" height="29" alt="" border="0" hspace="10" vspace="5" align="absmiddle" name="action[ape]" >
mon fichier trait PHP :
if (isset($_POST['action'])) {
    $cles = array_keys($_POST['action']);
 
    if (in_array($cles[0], array('maj', 'ape'))) { // vérification
    }
}

if(isset($cles[0]) && $cles[0] == 'maj'){
       
		  include('trait_edit_fiche.php');
		  }
if(isset($cles[0]) && $cles[0] == 'ape'){
	      include('apercu_edit_fiche.php');
		 }
Voila sa pourra en aider certains à ne pas perdre une journée ;)
Merci cas même :)