Probléme avec Formulaire pour lequel je ne reçois aucunes infos.

Résolu/Fermé
c2frey Messages postés 10 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 27 novembre 2012 - 26 nov. 2012 à 22:34
aomann Messages postés 51 Date d'inscription lundi 26 novembre 2012 Statut Membre Dernière intervention 4 décembre 2012 - 4 déc. 2012 à 03:55
Bonjour,

Je viens vers vous comme bon nombre de personne je pense déjà.
J'essaye de mettre en place un formulaire sur une page html avec un appel de validation page php : je reçois bien le mail mais sans rien dedans excepté le message"text area". et m'a page de remerciements apparait bien, il y a donc bien une prise en compte de mon code PHP.

J'ai épluché pas mal de topics mais je retourne mon code dans tous les sens et cela ne marche toujours pas.

Une petite aide ne serait pas de refus.

Voilà mon code Html :
<form id="form" method="POST" action="formmail.php">
<input type="hidden" name="subject" value="formmail">
<p>
<label for="nom">Nom :</label>
<input type="text" class="text" name="nom" id="nom" required><br>

<label for="adresse">Adresse :</label>
<input type="text" class="text" name="adresse" id="adresse" required><br>

<label for="telephone">Téléphone & Mail :</label>
<input type="text" class="text" name="telephone" id="telephone" required><br>
<label for="message">Message :</label>
<textarea class="text" name="message" id="message" rows="7" col="10" required></textarea>
<br>

<input type="submit" class="submit" value="Envoyer">
</p>
</form>

Voilà mon code PHP:
<?php
$TO = "jecommande@gardencupcakes.fr";

$h = "From: " . $TO;


$nom = $_POST['nom'];
$adresse = $_POST['adresse'];
$telephone = $_POST['telephone'];
$message = $_POST['message'];

while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}

mail($TO, $subject, $message, $h);

Header("Location: http://www.gardencupcakes.fr/pages/commanderMerci.html");

?>

Merci par avance, vous pouvez apercevoir la page sur laquelle je le place ici:
http://www.gardencupcakes.fr/pages/commander.html

5 réponses

aomann Messages postés 51 Date d'inscription lundi 26 novembre 2012 Statut Membre Dernière intervention 4 décembre 2012 2
26 nov. 2012 à 23:19
Salut,

$HTTP_POST_VARS est déclassé (deprecated). Il n'est pas recommandé de l'utiliser.
$subject n'est pas non-plus déclaré dans votre code.

Essayez (code PHP uniquement):
<?php
if(isset($_POST['nom']) && isset($_POST['adresse']) && isset($_POST['telephone']) && isset($_POST['message'])) {
	$nom = $_POST['nom'];
	$adresse = $_POST['adresse'];
	$telephone = $_POST['telephone'];
	$message = $_POST['message']; 
	
	
	$strFrom = "jecommande@gardencupcakes.fr"
	$strTo = "jecommande@gardencupcakes.fr"
	$strSubject = "Sujet";
	
	$strMessage = 'Nom : ' . $nom . '<br />Adresse: '. $adresse . '<br />Téléphone :'. $telephone.'<br />Message: '.$message;
	
	$headers = 'MIME-Version: 1.0' . "\r\n";
	$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
	$headers .= 'From: ' . $strFrom . "\r\n";
	if(mail($strTo, $strSubject, $strMessage, $headers)){
		
	}else{
		echo "Erreur lors de l'envoie du courriel !";  
	}
	
}else{
	echo "Il manque des paramètres post";
}
?>
0
c2frey Messages postés 10 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 27 novembre 2012
27 nov. 2012 à 00:39
Bonsoir,
écoute un grand merci hormis une erreur de syntaxe ;manquant que j'ai corrigé et le header que j'ai remis à la fin pour me remettre ma page de remerciement tout fonctionne très bien.
Il ne restais plus beaucoup de cheveux sur la tête.
Merci encore.
0
aomann Messages postés 51 Date d'inscription lundi 26 novembre 2012 Statut Membre Dernière intervention 4 décembre 2012 2
27 nov. 2012 à 01:29
De rien ;)
0
c2frey Messages postés 10 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 27 novembre 2012
27 nov. 2012 à 14:10
Bonjour,
je vais abuser de tes connaissance mais penses tu que je puisse ajouter un captcha dans le script Php j'ai collé un script que j'ai trouvé dans à la suite de ton code pour que tu puisses me dire ce que je dois ajouter à celui existant.

Code Html:
<form id="form" method="POST" action="formmail.php">
<input type="hidden" name="subject" value="formmailTest">
<p>
<label for="nom">Nom :</label>
<input type="text" class="text" name="nom" id="nom" required><br>

<label for="adresse">Adresse :</label>
<input type="text" class="text" name="adresse" id="adresse" required><br>

<label for="telephone">Téléphone & Mail :</label>
<input type="text" class="text" name="telephone" id="telephone" required><br>
<label for="message">Message :</label>
<textarea class="text" name="message" id="message" rows="7" col="10" required></textarea>
<br>
<label for="reponse">Notez la 2ème lettre de Cakes :</label>
<input type="text" class="text" name="reponse" id="reponse" size="3" required><br>
<input type="submit" class="submit" value="Envoyer">
</form>



Code PHP :
<?php
if(isset($_POST['nom']) && isset($_POST['adresse']) && isset($_POST['telephone']) && isset($_POST['message'])) {
$nom = $_POST['nom'];
$adresse = $_POST['adresse'];
$telephone = $_POST['telephone'];
$message = $_POST['message'];


$strFrom = "jecommande@gardencupcakes.fr";
$strTo = "jecommande@gardencupcakes.fr";
$strSubject = "Sujet";

$strMessage = 'Nom : ' . $nom . '<br />Adresse: '. $adresse . '<br />Téléphone :'. $telephone.'<br />Message: '.$message;

$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers .= 'From: ' . $strFrom . "\r\n";
if(mail($strTo, $strSubject, $strMessage, $headers)){

}else{
echo "Erreur lors de l'envoie du courriel !";
}

}else{
echo "Il manque des paramètres post";
}

Header("Location: http://www.gardencupcakes.fr/pages/commanderMerci.html");

class capcha{

var $min;
var $max;
var $alphabet;
var $word;
var $num;
var $numletter;

function capcha(){
$this->min = 4;
$this->max = 6;
$this->alphabet = 'abcdefghijklmnopqrstuvwxyz';
$this->grain_de_sel = '6tIb90ZAS11';
$this->word = $this->createWord();
$this->num = $this->chooseNum();
$this->numletter = $this->num2letter();
}

function q(){
return 'Quelle est la '.$this->numletter.' lettre du mot '.$this->word.' ?';
}

function createWord(){

$len = rand($this->min,$this->max);
for($i=0;$i<$len;$i++){
$word[$i] = $this->alphabet[rand(0,strlen($this->alphabet)-1)];
}
return implode('',$word);
}

function chooseNum(){
return rand(1,strlen($this->word));
}

function num2letter(){
if($this->num == strlen($this->word)){
return 'dernière';
}
$array = array('1' => '1ère','2' => '2ème','3' => '3ème','4' => '4ème','5' => '5ème','6' => '6ème','7' => '7ième','8' => '8ème','9' => '9ème','10' => '10ème');
if(isset($array[$this->num])){
return $array[$this->num];
}else{
return $this->num.'.ème';
}
}

function r(){
return md5($this->grain_de_sel.$this->word[$this->num-1]);
}
}
?>



Merci encore par avance.
0
aomann Messages postés 51 Date d'inscription lundi 26 novembre 2012 Statut Membre Dernière intervention 4 décembre 2012 2
27 nov. 2012 à 14:43
Salut,

Je n'ai pas le temps actuellement de regarder, par contre, de ce que je vois ce script va générer une série de lettres aléatoire et va demander à l'utilisateur de dire quel est la xième lettre du mot.

Normalement, un catcha est une image sur laquelle se trouvent des caractères aléatoires. Le fait que ce soit une image rend beaucoup plus difficile l'opération de trouver pour un ordinateur la série de caractères.

Avec le script proposé, il serait possible pour un ordinateur de comprendre plus facilement et de répondre par lui-même puisque les caractères sont accessibles directement.

Est-ce que tu veux un script qui génère une image à la place ?

Alex
0
c2frey Messages postés 10 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 27 novembre 2012
27 nov. 2012 à 15:48
Oui, dans ce cas je préférerai si cela est plus sur.
Dès que tu pourras je suis preneur.
Merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
aomann Messages postés 51 Date d'inscription lundi 26 novembre 2012 Statut Membre Dernière intervention 4 décembre 2012 2
4 déc. 2012 à 02:43
Salut,

Il est possible d'utiliser : https://www.google.com/recaptcha/about/ Il devrait être simple à installer. De plus, lorsqu'un visiteur entre le captcha il permet de décoder des livres !

J'ai travaillé ce soir sur une version PHP pour faire mon propre système. C'est la version 1, il me reste encore plusieurs choses à faire et à corriger.

Pour voir l'exemple fonctionnel : http://alexomann.com/so/captcha.php

Pour voir le code : http://alexomann.com/so/captcha.txt

Sources :
-> https://www.google.com/recaptcha/about/
-> http://www.thecaptcha.com/
0
aomann Messages postés 51 Date d'inscription lundi 26 novembre 2012 Statut Membre Dernière intervention 4 décembre 2012 2
4 déc. 2012 à 03:55
Dans le script, on peut réduire le nombre de rectangles et de lignes afin d'augmenter la facilité pour les utilisateurs. Ce sont les deux derniers paramètres du constructeur.

Il faut simplement trouver un juste milieu entre sécurité et lisibilité
0