bouton image sublit

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : bouton image sublit

par Cyrano » 01 juin 2005, 12:10

Bon, voilà quelque chose qui marche: je te laisse piocher dedans ce dont tu as besoin, en fait, j'ai remplacé le bouton type image par un lien avec image tout court et ça fonctionne avec IE aussi bien qu'avec FireFox:
<?php
echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" xml:lang="fr" />
<title>Formulaire avec bouton de soummission en image</title>
</head>
<body>
<form name='client' action='<?php echo($_SERVER['PHP_SELF']); ?>' method='post'>
<?php
if(!empty($_POST['login']))
{
echo("<pre>");
var_dump($_POST);
echo("</pre>");
?>
<p>Test réussi.</p>
<?php
}
else
{
?>
<p>Test raté.</p>
<?php
}
if(empty($_POST['login']))
{
?>
  <table border='1' width='430' cellspacing='5' class='texte'>
    <tr>
      <td colspan='2'>Veuillez entrer votre login et mot de passe pour accéder à votre compte.</td>
    </tr>
    <tr>
      <td width='33%' align='right'> login : </td>
      <td><input type='text' value='' name='login'></td>
    </tr>
    <tr>
      <td align='right'> mot de passe : </td>
      <td><input type='password' value='' name='pass'></td>
    </tr>
    <tr>
      <td colspan='2' height='50' align='center'>
		<a href="#" onClick="document.forms['client'].submit();"><img src="../../_Temporaire/images/Logo_25blk_google.gif" style="border: none"></a>
      </td>
    </tr>
  </table>
<?php
}
?>
</form>
</body>
</html>

par olé » 01 juin 2005, 11:27

arf mon post tombe dans l'oubli :( je trouve pas et vous non plus apparemment ... minceeeeeeeeeeee !

par olé » 31 mai 2005, 20:58

mm resultat :cry:

par jeff » 31 mai 2005, 20:57

salut
je suis pas sur
Le JavaScript et moi, ça a toujours fait 2
et ca risque de continuer

Code : Tout sélectionner

onclick="nomform.submit()"

par olé » 31 mai 2005, 20:40

:oops:

par Cyrano » 31 mai 2005, 20:38

Moi non plus,effectivement, je viens de vérifier. Le JavaScript et moi, ça a toujours fait 2 :?

par olé » 31 mai 2005, 20:36

je viens de vérifier dans firefox ça s'éxécute mais jai ceci dans la console js
Erreur : this.submit is not a function

:?

par olé » 31 mai 2005, 20:29

nan ça fonctionne pas sous internet explorer :( pfiouuu fonctionne parfaitement sous firefox mais aps sous ie je comprends plus rien

par olé » 31 mai 2005, 20:18

en effet ça fonctionne ! merci cyrano ;)

par Cyrano » 31 mai 2005, 19:42

BOn, je sais pas comment tu teste, mais je viens de faire un essai et sans rien rajouter de particulier, ça fonctionne. J'ai juste optimisé le code :
<form name="client" action="<?php echo($_SERVER["PHP_SELF"]); ?>" method="post">
if(empty($_POST["bt_envoyer"]))
{
?>
  <table border="1" width="430" cellspacing="5" class="texte">
    <tr>
      <td colspan="2">Veuillez entrer votre login et mot de passe pour accéder à votre compte.</td>
    </tr>
    <tr>
      <td width="33%" align="right"> login : </td>
      <td><input type="text" value="" name="login"></td>
    </tr>
    <tr>
      <td align="right"> mot de passe : </td>
      <td><input type="password" value="" name="pass"></td>
    </tr>
    <tr>
      <td colspan="2" height="50" align="center">
	    <input type="image" src="envoyer.png" name="bt_envoyer" onclick="this.submit();" width="75" height="32" value="soumettre">
      </td>
    </tr>
  </table>
<?php
}
?>

par olé » 31 mai 2005, 19:35

alors j'ai réussi à faire ceci...
<table border='0' width='430' cellspacing='5' class='texte'>
<tr><td colspan='2'>Veuillez entrer votre login et mot de passe pour accéder à votre compte.</td></tr>
<tr><td width='33%' align='right'> login : </td><td><input type='text' value='' name='login'></td>
<tr><td align='right'> mot de passe : </td><td><input type='password' value='' name='pass'></td></tr>
<tr><td colspan='2' height='50' align='center'>
<!--<input type='image' src='envopyer.png' border='0' onclick='controle_client()'>-->
<a href=''><input src='envoyer.png' border='0' type='image' onclick='controle_client()'></a>
le formulaire est vérifier via un script javascript qui controle les champs.. le seul hic c'est que si un champ est inccorecte prenons par exemple le champ mot de passe qui est resté vide et bien il va y avoir une alert comme quoi le mot de passe est inccorecte mais ma page php se recharge et je perds la valeur saisie dans le champ login :(

par olé » 31 mai 2005, 19:00

j'y arrive pas :(

par Cyrano » 31 mai 2005, 17:22

Ajoute un bouton type submit à ton formulaire et masque-le avec un style CSS visibility: hidden

par olé » 31 mai 2005, 17:15

<input type='image' onclick=\"this.submit();\" src='envoyer.png' name='bt_envoyer'>

de cette façon ça ne fonctionne pas :(

par Cyrano » 31 mai 2005, 17:04

Code : Tout sélectionner

onclick="this.submit();