bouton image submit PHP

Eléphant du PHP | 183 Messages

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 ...

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

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:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Invité
Invité n'ayant pas de compte PHPfrance

16 mars 2007, 01:35

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

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

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:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 183 Messages

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" }

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

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 ?

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 183 Messages

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";
}
?>

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

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:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 183 Messages

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 :-)

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

18 mars 2007, 17:28

Non regarde les indices.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 183 Messages

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 ..?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

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:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 183 Messages

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 :-)

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

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:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 183 Messages

18 mars 2007, 18:28

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