Version complète: sur le forum Webmaster Hub : Problème de formulaire
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > (X)HTML et CSS
mkl238
blush.gif Bonjour, bonjour...

Je viens quémender votre aide car j'ai un petit problème sur un site que je fais en local...
en fait le site comporte un formulaire permettant de se loguer sur un forum phpbb... un peu comme le fait un portail quoi.

Il s'avère que le formulaire marche divinement bien sous mozilla... mais, horreur, j'ai testé sur IE et mon formulaire n'envoi pas les données... il va betement sur la page login.php sans rien lui envoyer dutout ce goujat la (login.php étant le lien action du form)...

alors à mon point de vue... j'ai du écrire mon formulaire comme un bourrin... n'ayant pas beaucoup d'expérience et apprenant sur le tas.

voici le code source de mon formulaire de mon menu... en fait le bouton submit est une image donc j'ai utilisé <input type="image"...




CODE
<form action="'.$actionm.'" method="post" target="_top">
    <tr>
 <td colspan="4" valign="top" width="168" height="144" background="images/site_07.gif">
     <br/><br/>
     <table width="100%" cellpadding="0" cellspacing="0" border="0">
     
         <tr>
       <td align="right">
     <input type="hidden" name="redirect" value="'.$lienm.'" />
     <br/>Login:
       </td>
       <td align="left">
     &nbsp;<input class="post" type="text" name="username" size="15" />
       </td>
         </tr>
         <tr>    
         <td align="right">
     Mot de passe:
     </td>
     <td align="left">
         &nbsp;<input class="post" type="password" name="password" size="15" />
       </td>    
   </tr>
   <tr>
         <td colspan="2" align="center">
     <nobr><input class="text" type="checkbox" name="autologin" />&nbsp;connexion auto</nobr>
     <br /><a href="'.$pwm.'">j\'ai perdu mon mdp</a>
       </td>
         </tr>
   
       </table>
 </td>
    </tr>
    <tr>
 <td rowspan="2" valign="top">
     <img id="site_08" src="images/site_08.gif" width="20" height="45" alt="" /></td>
 <td valign="top">
     <a href="' . append_sid("forum/profile.$phpEx?mode=register") . '"><img id="site_09" src="images/site_09.gif" width="72" height="19" alt="" border="0"/></a></td>
 <td rowspan="2" valign="top">
     <img id="site_10" src="images/site_10.gif" width="13" height="45" alt="" /></td>
 <td valign="top">
     <input type="image" name="login" value="login" alt="login" src="images/site_11.gif" /></td>
    </tr>
</form>




CODE
$actionm=append_sid("forum/login.$phpEx");
$lienm=append_sid("../index.$phpEx");
$pwm=append_sid("forum/profile.$phpEx?mode=sendpassword");


(les fonctions append_sid() permettent juste de mettre l'id de l'utilisateur dans le lien, normalement le problème ne vient pas de la)
ce qui donne lorsque je fais afficher le code source de la page dans IE:



CODE
<form action="forum/login.php?sid=3dd3ff2ad76ca2a3375ab88037509f8e" method="post" target="_top">
    <tr>
 <td colspan="4" valign="top" width="168" height="144" background="images/site_07.gif">
     <br/><br/>
     <table width="100%" cellpadding="0" cellspacing="0" border="0">
     
         <tr>
       <td align="right">
     <input type="hidden" name="redirect" value="../index.php?sid=3dd3ff2ad76ca2a3375ab88037509f8e" />
     <br/>Login:
       </td>
       <td align="left">
     &nbsp;<input class="post" type="text" name="username" size="15" />
       </td>
         </tr>
         <tr>    
         <td align="right">
     Mot de passe:
     </td>
     <td align="left">
         &nbsp;<input class="post" type="password" name="password" size="15" />
       </td>    
   </tr>
   <tr>
         <td colspan="2" align="center">
     <nobr><input class="text" type="checkbox" name="autologin" />&nbsp;connexion auto</nobr>
     <br /><a href="forum/profile.php?mode=sendpassword&amp;sid=3dd3ff2ad76ca2a3375ab88037509f8e">j'ai perdu mon mdp</a>
       </td>
         </tr>
   
       </table>
 </td>
    </tr>
    <tr>
 <td rowspan="2" valign="top">
     <img id="site_08" src="images/site_08.gif" width="20" height="45" alt="" /></td>
 <td valign="top">
     <a href="forum/profile.php?mode=register&amp;sid=3dd3ff2ad76ca2a3375ab88037509f8e"><img id="site_09" src="images/site_09.gif" width="72" height="19" alt="" border="0"/></a></td>
 <td rowspan="2" valign="top">
     <img id="site_10" src="images/site_10.gif" width="13" height="45" alt="" /></td>
 <td valign="top">
     <input type="image" name="login" value="login" alt="login" src="images/site_11.gif" /></td>
    </tr>
</form>



qu'est ce qui cloche à votre avis :o ?
jeanpierre949
salut.
tu passes une variable par url et tu mets method="post" dans ton formulaire
Eric (11)
Je suppose que tu vérifies dans ton script php que la valeur envoyée est égale à login lors de l'appuie sur le bouton Input (image) ?

Si c le cas c'est tout à fait logique que IE ne voit rien (et Opera non plus d'ailleurs) car lors du clic sur le bouton ceux sont les coordonnées où l'on a cliqué qui sont envoyées.

Eric
Portekoi
Bonjour,

Qu'est ce qui s'affiche sur la page login.php lorsque tu fais ceci :

<?echo $_POST["username"]?>


Portekoi
mkl238
waaaw, je me sens moins seul lol, merci pour vos réponses...

CITATION(jeanpierre949 @ lundi 17 octobre 2005, 09h56)
salut.
tu passes une variable par url et tu mets method="post" dans ton formulaire
*


non les variables passées en url n'ont rien avoir avec celles du formulaire

CITATION(Eric (11) @ lundi 17 octobre 2005, 10h36)
Je suppose que tu vérifies dans ton script php que la valeur envoyée est égale à login lors de l'appuie sur le bouton Input (image) ?

Si c le cas c'est tout à fait logique que IE ne voit rien (et Opera non plus d'ailleurs) car lors du clic sur le bouton ceux sont les coordonnées où l'on a cliqué qui sont envoyées.

Eric
*


y'a ca dans login.php:

CODE
if( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) || isset($HTTP_POST_VARS['logout']) || isset($HTTP_GET_VARS['logout']) )
{
    if( ( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) ) && (!$userdata['session_logged_in'] || isset($HTTP_POST_VARS['admin'])) )
    {
 $username = isset($HTTP_POST_VARS['username']) ? phpbb_clean_username($HTTP_POST_VARS['username']) : '';
 $password = isset($HTTP_POST_VARS['password']) ? $HTTP_POST_VARS['password'] : '';


...


c'est pas juste?

CITATION(portekoi @ lundi 17 octobre 2005, 10h59)
Bonjour,

Qu'est ce qui s'affiche sur la page login.php lorsque tu fais ceci :

<?echo $_POST["username"]?>
Portekoi
*


ah ben le pseudo est bien envoyé a login.php... le pseudo s'affiche...
pfff je m'en sorts paaas... wacko.gif

EDIT: WAAAAAAAAH j'y suis arrivéééé en fait il ne passait pas le premier if, pitetre bien a cause de ce qu'a dit Eric ^_^ ...

Merci à vouuuus!!!
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.