[RESOLU] Ajout d'un champ téléphone dans un formulaire

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 : [RESOLU] Ajout d'un champ téléphone dans un formulaire

Re: [RESOLU] Ajout d'un champ téléphone dans un formulaire

par all » 15 févr. 2016, 16:20

Cool, merci.
Ce qui fait :

$message .= nl2br(stripslashes($_POST['message']));

Re: [RESOLU] Ajout d'un champ téléphone dans un formulaire

par Ascla » 15 févr. 2016, 13:51

Erreur de ma part, il faut utiliser un '.' et non un '+' pour la concaténation..
Pour le saut de ligne, regarde cette méthode php : http://php.net/manual/en/function.nl2br.php

Re: [RESOLU] Ajout d'un champ téléphone dans un formulaire

par all » 14 févr. 2016, 19:50

Par contre, y a un autre soucis. Quand on tape un message et que l'on va à la ligne, le resultat dans la boîte mail et que rien est à la ligne, genre on envoie :

Bonjour,

T'es où ?

À la reception, c'est écrit :

Bonjour, T'es où ?

Re: Ajout d'un champ téléphone dans un formulaire

par all » 14 févr. 2016, 19:04

Donc remplacer :

$message = stripslashes($_POST['message']);

Par...

$message = 'Numéro de téléphone : '.stripslashes($_POST['telephone'])."<br>";
$message .= 'Message : '.stripslashes($_POST['message']);

Puis remplacer :

$headers .= "Content-Type: text/plain; charset=\"iso-8859-1\"";

Par...

$headers .= 'Content-type: text/html; charset=utf-8' . "\r";

Et pour l'input :

<label for="telephone" style="display:inline-block;width:100px;"><strong>telephone:</strong></label> <input type="text" name="telephone" id="telephone" /><br />

Merci beaucoup pour votre aide.

Re: Ajout d'un champ téléphone dans un formulaire

par all » 14 févr. 2016, 18:56

C'est bon, j'y suis arrivé.

Re: Ajout d'un champ téléphone dans un formulaire

par all » 14 févr. 2016, 18:25

Ça n'a aucun effet.

Re: Ajout d'un champ téléphone dans un formulaire

par or 1 » 14 févr. 2016, 17:54

$message = stripslashes($_POST['telephone']). "\n".stripslashes($_POST['message']);

Re: Ajout d'un champ téléphone dans un formulaire

par all » 14 févr. 2016, 16:53

Si je remplace le + par un ., j'ai le tel et le message ensemble, mais les deux s'affichent sur la même ligne et sans séparation. Existe-t-il une fonction pour mettre le message à la ligne ?

Re: Ajout d'un champ téléphone dans un formulaire

par all » 14 févr. 2016, 16:13

Merci pour la réponse. Alors j'ai bien le tel qui s'affiche dans le corps du message, mais j'ai pas le message. Si je déplace le + dans la ligne du téléphone, j'ai le message mais pas le numéro.

Re: Ajout d'un champ téléphone dans un formulaire

par Ascla » 14 févr. 2016, 14:45

Bonjour et bienvenue sur le forum.
Il faudra tout d'abord gérer la partie html en ajoute un nouvel input pour accueillir le numéro de téléphone à envoyer.
Voici un guide sur l'utilisation des inputs : http://www.w3schools.com/html/html_form_input_types.asp
Du côté du mail, il faut ensuite récupérer la valeur de ce nouvel input et de l'intégrer dans le message.
Pour afficher le champ téléphone avant le message, il suffit de remplacer
$message = stripslashes($_POST['message']);
par
$message = stripslashes($_POST['telephone']);
$message += stripslashes($_POST['message']);
Pour que l'exemple du dessus fonctionne, il faut bien sûr que le nouvel input ait un argument name="telephone"

Ajout d'un champ téléphone dans un formulaire

par all » 13 févr. 2016, 17:20

Bonjour,

J'ai trouvé un formulaire qui me convient parfaitement et auquels j'aimerais ajouter un champ téléphone et qui s'afficherait en début de message. Je cherche depuis ce matin et je n'y arrive pas du tout. Merci pour votre aide. Voici le formulaire :

<?php
if(isset($_POST['email']) and isset($_POST['sujet']) and isset($_POST['message']))
{
$destinataire = '[email protected]';
$email = htmlentities($_POST['email']);
if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',str_replace('&','&',$email)))
{
$sujet = 'Contact: '.stripslashes($_POST['sujet']);
$message = stripslashes($_POST['message']);
$headers = "From: <".$email.">\n";
$headers .= "Reply-To: ".$email."\n";
$headers .= "Content-Type: text/plain; charset=\"iso-8859-1\"";
if(mail($destinataire,$sujet,$message,$headers))
{
echo "<strong>Votre message a bien &eacute;t&eacute; envoy&eacute;.</strong>";
}
else
{
echo "<strong style=\"color:#ff0000;\">Une erreur c'est produite lors de l'envois du message.</strong>";
}
}
else
{
echo "<strong style=\"color:#ff0000;\">L'email que vous avez entr&eacute; est invalide.</strong>";
}
}
else
{
?>
<form action="" method="post">
<fieldset>
<legend>Formulaire de contact</legend>
<label for="email" style="display:inline-block;width:100px;"><strong>Votre Email:</strong></label> <input type="text" name="email" id="email" /><br />
<label for="sujet" style="display:inline-block;width:100px;"><strong>Sujet:</strong></label> <input type="text" name="sujet" id="sujet" /><br />
<label for="message"><strong>Message:</strong></label><br />
<textarea cols="70" rows="4" name="message" id="message"></textarea><br />
<input type="submit" value="Envoyer" />
</fieldset>
</form>
<?php
}
?>