bouton image submit PHP

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 submit PHP

par laplumaencre » 18 mars 2007, 18:28

ah ok tous simplement, et bien je te remercie encore pour cette aide :-) a+

par Truc » 18 mars 2007, 18:09

Enfaite ce sujet à déjà été traité plusieurs fois :wink:

Tu récupères deux "envoyer" qui correspondent aux coordonnées (X,Y) du clic sur le bouton de type image.

N'oublie pas le [Résolu] :wink:

par laplumaencre » 18 mars 2007, 17:47

cool ça marche en mettant ça =>
if ($_POST["envoyer_x"]) {
maisje me demande tjs pourquoi il me créer 2 envoyer x et y alors que j'en envois qu'un ?
en tout cas merci beaucoup pour ton aide modérateur

tiens ça marche aussi en mettant envoyer_y bon bref fo un des deux mais bizarre qu'il y en ai 2 avec un seul bouton, j'aurai pu chercher longtemps encore :-)

par Truc » 18 mars 2007, 17:43

Cherche pas midi à 14h, ce n'est pas un piège :?

Le var_dump() te montre toutes les variables $_POST que tu récupères et donc que tu peux tester ni plus ni moins.

Dans cette liste tu n'as pas de $_POST["envoyer"] mais deux autres $_POST["envoyer_x"] et $_POST["envoyer_y"].

Effectue donc ton test sur l'une de ces 2 dernières variables.

Sinon teste sur un autre champ
if(isset($_POST["objet"]))
Mais pas avant d'avoir compri hein !!
Il y a interro après ça :lol:

par laplumaencre » 18 mars 2007, 17:30

envoyer x et y il prend l'image en compte et non son name ??
ou avec le rollover il croit qu'il y a 2 "envoyer" ?
bon j'arrive pas a voir pourquoi il m'nevois un array de 4 elements alors que j'ai que objet, message et le foutu bouton envoyer qu'il me mets en double ..?

par Truc » 18 mars 2007, 17:28

Non regarde les indices.

par laplumaencre » 18 mars 2007, 17:27

Il faut que je mette $_GET ??
Mais le probleme c'est que ma page web est deja inclus ds une principale qui est en $_GET et que j'arrrive pas a mettre en post pour la principale...
Casse tete chinois :-)

par Truc » 18 mars 2007, 17:24

Pour rappel :
Donc on y voit les indices :
["envoyer_x"] => 
    string(2) "80" 

["envoyer_y"]=> 
    string(2) "21"
Et la tu testes ceci :
if ($_POST["envoyer"]) 
Voilà tu as tout ce qu'il te faut pour faire le rapprochement :wink:

par laplumaencre » 18 mars 2007, 17:14

pour 'linstant mon code est basique, quand ça va fonctionner correctement je vais l'améliorer bien sur... surtout niveau sécurité.
<?php
var_dump($_POST); 

if ($_POST["envoyer"]) {
echo "bouton envoyer ok";
$destinataire = "[email protected]";
$objet = $_POST["objet"];
$message = $_POST["message"];
$email="[email protected]";
$headers = 'From: ' . $email . "\r\n" .
            'Reply-To: ' . $email . "\r\n" .
          'X-Mailer: PHP/' . phpversion(); 

mail($destinataire,$objet,$message,$headers);
header("Location: thanks.html");
echo "Ce script envoie un mail à $destinataire ";
} else {
echo "pas ds la boucle envois mail";
}
?>

par Truc » 18 mars 2007, 17:04

On y arrive petit à petit...

Donc on y voit les indices :
["envoyer_x"] => 
    string(2) "80" 

["envoyer_y"]=> 
    string(2) "21"
envoyer_x et envoyer_y et pas de "envoyer" (tout court).

Maintenant ton code de traitement (après clic sur envoyer) ressemble à quoi ?

par laplumaencre » 18 mars 2007, 16:02

Merci modérateur,
ça me donne, ça et meme si je comprend se que ça veut dire (enfin je crois), ça m'aide pas beaucoup...
j'arrive vraiment a voir pourquoi avec mon beau bouton ça passe pas et avec le bouton tout moche de base ça marche ...
Voilà ce que ça me retourne comme info =>
array(4) { ["objet"]=> string(10) "test objet" ["message"]=> string(10) "test texte" ["envoyer_x"]=> string(2) "80" ["envoyer_y"]=> string(2) "21" }

par Truc » 17 mars 2007, 12:34

un copier / coller... pour une fois qu'on le demande :lol:

var_dump() aura pour effet d'afficher les variables $_POST avec leur indices tu veras donc exactement ce qui ne va pas.

Ce bout de code est à placer en début de page.
Valide le formulaire et admire :wink:

par Invité » 16 mars 2007, 01:35

Désolé modérateur mais je capte pas ce que tu me demande d'essayé ?

par Truc » 15 mars 2007, 21:59

submit est une fonction, ton code tout la haut est correct mais sur le onclick il faut mettre ='submit();'
Non non non pas besoin de rien de tout ça !! .......... :lol:
Pour revenir au souci exécute ce bout de code après validation pour vérifier la syntaxe des données à récupérer ( $_POST ["envoyer"] ? ) :
<pre>
<?php var_dump($_POST); ?>
</pre>
C'est pas pour faire bien qu'on dis des choses :wink:

par laplumaencre » 15 mars 2007, 21:15

la page se recharge en effet, j'ai meme mis un echo pas dans la boucle et echo ok ds la boucle $_POST["envoyer"], avec le submit de base, ça va bien ds la boucle et envois le mail mais avec le bouton image , il rentre pas ds la boucle, donc y 'a pas de submit d'envoyer ...