récupération de données de case à cocher

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 : récupération de données de case à cocher

par robined » 21 mars 2005, 11:48

logiquement ca devrait fonctionner, essaie en recompletant le formulaire.

par JMC » 20 mars 2005, 12:41

ok alors je l'ai essayé et il marche bien sauf que je suis revenu au départ c'est à dire que je ne vois toujours pas si la case et coché ou non :D

alors faut-il que je touche mon formulaire? ou sa vient de la fonction mail?

dsl pour le temps que j'ai mis à répondre :wink:

par JMC » 18 mars 2005, 20:25

ok merci je l'essairai demain car je suis plus au boulot :wink:

par robined » 18 mars 2005, 18:08

voila j'ai corrigé le pb, c'est moi qui avais merdé:
il fallait mettre $_POST et non $_GET pour le test.

attention, le = et le == n'ont pas du tout la meme signification:
= fait une affectation et == test le contenu de la valeur alors si tu veux faire un test mets == sinon il te mettra toujours vrai

html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php

$nom_du_site = "Protectionsolaire";
$url_du_site = "http://www.protectionsolaire.net";
$email_du_site = "[email protected]";
$referer= getenv("HTTP_REFERER");


if ($_POST['nom'] == "" || $_POST['prenom'] == "" || $_POST['email'] == "")
{
?>
<p align="center"><B><U>Message non transmis</U> !</B><BR>
<BR><font color=red> <B><U>Erreur:</U></B></font> <B>Vous avez oublié de remplir un champ obligatoire ! Merci de rectifier.</B><BR><BR>
<INPUT TYPE='button' VALUE='revenir' NAME='Précédente' OnClick='history.back()'></p>
<?php
}
else
{
?>
<B><U>Votre message nous est bien parvenu</U> !</B>
<P>Merci <?php $_POST['prenom'];?> <?php echo $_POST['nom'];?><BR><BR>Nous avons bien reçu votre message.<BR>
Nous vous contacterons très prochainement.<BR>Un mail automatique vous confirmera la bonne reception de votre message.<BR>
à très bientôt !<BR>
<?php
$resultat = $_POST['Films'];
$message="Bonjour $_POST[prenom] $_POST[nom]\n\n";
$message.="Nous avons bien reçu votre Message\n\n";
$message.="Nous vous répondrons rapidement. Merci !\n\n";
$message.="à bientot !\n\n";
$message.="Contact: $email_du_site\n$nom_du_site : $url_du_site";
mail("$_POST[email]", "Remerciement de $nom_du_site!", $message);


$message2="Envoyé par: $_POST[prenom] $_POST[nom] email: $_POST[email]\n\n";
$message2.="Nom: $_POST[nom]\n";
$message2.="Prénom: $_POST[prenom]\n";
$message2.="Société:$_POST[societe]\n";
$message2.="Email: $_POST[email]";
$message2.="Adresse: $_POST[adresse], $_POST[cp] $_POST[ville],\n\n";
$message2.="Coordonnées:Tel:$_POST[tel] ,Fax:$_POST[fax]";
$message2.="Films:\n$resultat";
$message2.="Un mail automatique à été envoyé à $_POST[prenom] $nom pour l'avertir de la bonne reception de ce message.\n";
$message2.="Adresse IP du visiteur : <?php echo $_POST['ipadress']\n\n";
$message2.="page d'envoi de ce message : $referer";

mail("$email_du_site","$nom_du_site message",$message2);
}
?>
</body>
</html>

par JMC » 18 mars 2005, 17:52

donc j'ai essayé et au débur quand je remplissai les champs obligatoires il me mettais le message d'erreur comme quoi il fallait que je l'ai remplisse donc j'ai supprimé des égale c'est à dire je suis passé de sa:

if ($_GET['nom'] == "" || $_GET['prenom'] == "" || $_GET['email'] == "")

à sa if ($_GET['nom'] = "" || $_GET['prenom'] = "" || $_GET['email'] = "")

et là sa à marché et le message de réussite c'est afficher mais il y avait pas écrit le prénom et le nom de la personne été $nom

Votre message nous est bien parvenu !
Merci $nom

Nous avons bien reçu votre message.
Nous vous contacterons très prochainement.
Un mail automatique vous confirmera la bonne reception de votre message.
à très bientôt !

voilà ce que sa me met mais sinon cette fois ci les donnée ont suivies car je les ai dans ma boite mail.
mais mon problème initial ne marche toujours pas car les données des cases ne s'affiche pas.
je pense que tu as déjà fais beaucoup et n'hésite pas à me dire que t'en a marre :wink:

par robined » 18 mars 2005, 17:27

j'ai refait ton code un peu plus propre

<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php

$nom_du_site = "Protectionsolaire";
$url_du_site = "http://www.protectionsolaire.net";
$email_du_site = "[email protected]";
$referer= getenv("HTTP_REFERER");


if ($_GET['nom'] == "" || $_GET['prenom'] == "" || $_GET['email'] == "")
{
?>
<p align="center"><B><U>Message non transmis</U> !</B><BR>
<BR><font color=red> <B><U>Erreur:</U></B></font> <B>Vous avez oublié de remplir un champ obligatoire ! Merci de rectifier.</B><BR><BR>
<INPUT TYPE='button' VALUE='revenir' NAME='Précédente' OnClick='history.back()'></p>
<?php
}
else
{
?>
<B><U>Votre message nous est bien parvenu</U> !</B>
<P>Merci <?php $_GET['prenom'];?> $nom<BR><BR>Nous avons bien reçu votre message.<BR>
Nous vous contacterons très prochainement.<BR>Un mail automatique vous confirmera la bonne reception de votre message.<BR>
à très bientôt !<BR>
<?php
$resultat = $_POST['Films'];
$message="Bonjour $_POST[prenom] $_POST[nom]\n\n";
$message.="Nous avons bien reçu votre Message\n\n";
$message.="Nous vous répondrons rapidement. Merci !\n\n";
$message.="à bientot !\n\n";
$message.="Contact: $email_du_site\n$nom_du_site : $url_du_site";
mail("$_POST[email]", "Remerciement de $nom_du_site!", $message);


$message2="Envoyé par: $_POST[prenom] $_POST[nom] email: $_POST[email]\n\n";
$message2.="Nom: $_POST[nom]\n";
$message2.="Prénom: $_POST[prenom]\n";
$message2.="Société:$_POST[societe]\n";
$message2.="Email: $_POST[email]";
$message2.="Adresse: $_POST[adresse], $_POST[cp] $_POST[ville],\n\n";
$message2.="Coordonnées:Tel:$_POST[tel] ,Fax:$_POST[fax]";
$message2.="Films:\n$resultat";
$message2.="Un mail automatique à été envoyé à $_POST[prenom] $nom pour l'avertir de la bonne reception de ce message.\n";
$message2.="Adresse IP du visiteur : <?php echo $_POST['ipadress']\n\n";
$message2.="page d'envoi de ce message : $referer";

mail("$email_du_site","$nom_du_site message",$message2);
}
?>
</body>
</html>


j'ai egalement corrigé une ou deux erreurs. essaie comme ceci en recompletant bien ton formulaire.

Si ca ne marche pas, c'est que tu dois avoir des soucis de config plutot que de code.

par JMC » 18 mars 2005, 16:52

merci de te donner autant de mal pour moi c'ets super sympa.
donc j'ai coller ce que tu m'a fait à la place de l'autre la fonction marche mais je n'est plus mes données qui arrive dans ma boîte mail

Envoyé par: email:

Nom:
Prénom:
Email:
Société:

Adresse: , , ,
Tel:
Fax:

Un mail automatique à été envoyé à pour l'avertir de la bonne reception de ce message.

Adresse IP du visiteur :

page d'envoi de ce message : http://www.protectionsolaire.net/renseignement.htm

comme tu peut le voir j'ai l'impression que les donnée ne suivent pas :?
alors j'essaie de me documenter mais je trouve assez compliquer tout les sujets que je trouve sur le net sur le PHP alors j'essaie de me débrouiller à prendre des trucs par si par là :D mais ca parche pas toujours :?

par robined » 18 mars 2005, 16:38

essaie ça, ca devrait marcher.

Il faudrait que tu te documentes sur les envois de formulaire et php car tu n'as mis aucun $_POST[].

<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php

$nom_du_site = "Protectionsolaire";
$url_du_site = "http://www.protectionsolaire.net";
$email_du_site = "[email protected]";
$referer= getenv("HTTP_REFERER");


if ($_GET['nom'] == "" || $$_GET['prenom'] == "" || $_GET['email'] == "")
{
?>
<p align="center"><B><U>Message non transmis</U> !</B><BR>
<BR><font color=red> <B><U>Erreur:</U></B></font> <B>Vous avez oublié de remplir un champ obligatoire ! Merci de rectifier.</B><BR><BR>
<INPUT TYPE='button' VALUE='revenir' NAME='Précédente' OnClick='history.back()'></p>
<?php
}
else
{
?>
<B><U>Votre message nous est bien parvenu</U> !</B>
<P>Merci $prenom $nom<BR><BR>Nous avons bien reçu votre message.<BR>
Nous vous contacterons très prochainement.<BR>Un mail automatique vous confirmera la bonne reception de votre message.<BR>
à très bientôt !<BR>
<?php
$resultat = $_POST['Films'];
mail("$_POST[email]", "Remerciement de $nom_du_site!", "Bonjour $_POST[prenom] $_POST[nom]

Nous avons bien reçu votre Message

Nous vous répondrons rapidement. Merci !

à bientot !

Contact: $email_du_site

$nom_du_site : $url_du_site");

mail("$email_du_site",

"$nom_du_site message",

"Envoyé par: $_POST[prenom] $_POST[nom] email: $_POST[email]

Nom: $_POST[nom]
Prénom: $_POST[prenom]
Société:$_POST[societe]
Email: $_POST[email]

Adresse: $_POST[adresse], $_POST[cp] $_POST[ville],

Coordonnées:Tel:$_POST[tel] ,Fax:$_POST[fax]

Films:

$resultat


Un mail automatique à été envoyé à $prenom $nom pour l'avertir de la bonne reception de ce message.

Adresse IP du visiteur : $_POST[ipadress]

page d'envoi de ce message : $referer");
}?>
</body>
</html>

par JMC » 18 mars 2005, 15:55

a ok dsl :oops:

<?php

$nom_du_site = "Protectionsolaire";
$url_du_site = "http://www.protectionsolaire.net";
$email_du_site = "[email protected]";
$referer= getenv("HTTP_REFERER");


if ($nom == "" || $prenom == "" || $email == "")
{
echo "<center><B><U>Message non transmis</U> !</B><BR>";
echo "<BR><font color=red> <B><U>Erreur:</U></B></font> <B>Vous avez oublié de remplir un champ obligatoire ! Merci de rectifier.</B><BR><BR>
<INPUT TYPE='button' VALUE='revenir' NAME='Précédente' OnClick='history.back()'";
}
else
{
echo "<B><U>Votre message nous est bien parvenu</U> !</B>";
echo "<P>Merci $prenom $nom<BR><BR>Nous avons bien reçu votre message.<BR>
Nous vous contacterons très prochainement.<BR>Un mail automatique vous confirmera la bonne reception de votre message.<BR>
à très bientôt !<BR>";

mail("$email", "Remerciement de $nom_du_site!", "Bonjour $prenom $nom

Nous avons bien reçu votre Message

Nous vous répondrons rapidement. Merci !

à bientot !

Contact: $email_du_site

$nom_du_site : $url_du_site");

mail("$email_du_site",

"$nom_du_site message",

"Envoyé par: $prenom $nom email: $email

Nom: $nom
Prénom: $prenom
Société:$societe
Email: $email

Adresse: $adresse, $cp $ville,

Coordonnées:Tel:$tel ,Fax:$fax

Films:

$resultat = $_POST['Films']


Un mail automatique à été envoyé à $prenom $nom pour l'avertir de la bonne reception de ce message.

Adresse IP du visiteur : $ipadress

page d'envoi de ce message : $referer");
}?>

j'espère que sa pourra mieux t'aider :?

par JMC » 18 mars 2005, 15:54

non c'est pour sur les films au sens strict ce sont les films solaires :D c'est pas tout à fait pareil mais je te remerci beaucoup c'est super sympa de ta part :wink:

par robined » 18 mars 2005, 15:52

je ne vois pas les balises php?
peux-tu envoyer toute ta page e-mail.php car il doit avoir des erreurs que je ne peux pas deviner

par Mystx » 18 mars 2005, 15:48

JMC tu fais un site sur les films ? on peut lfaire à deux ? tu as msn ?

par JMC » 18 mars 2005, 15:46

ok pas de problème

Coordonnées:Tel:$tel ,Fax:$fax

Films:

$resultat = $_POST['Films']


Un mail automatique à été envoyé à $prenom $nom pour l'avertir de la bonne reception de ce message.

j'ai mis ce que tu m'a dit :?

ensuite c'est normal que j'ai rien mis au autre case car je préfère faire au fure et à mesure :D plutot que de tout faire car après pour voir l'erreur c'est plus difficile. mais une fois qu'on arrive à fair un case pour les autres c'est pareil non?

par robined » 18 mars 2005, 15:27

l'erreur retournée provient de ton fichier E-mail.php a la ligne 58, peux tu me la copier stp avec lignes du dessus et du dessous?

PS: en lisant ta source, j'ai vu que tu n'avais pas mis de nom pour tes autres chexkbox ( strores exterieurs, rideaux...).

par JMC » 18 mars 2005, 15:19

a oui pardon je te met le lien pour que tu vois à quoi sa ressemble
http://www.protectionsolaire.net/renseignement.htm

pour ta réponse j'ai mis exactement ce que tu as fait