|
|
|
|
Bonjour
je voudrais ajouter une case de saisie supplémentaire (pour le N° de téléphone) dans un formulaire, mais rien à faire ...
je ne dois pas mettre les codes au même endroit ! qui pourrait m'aider ?
voici le code actuel: (qui fonctionne nickel)
<?php
$Previsualiser='<p class="bt">
<input type="submit" name="previsualiser" tabindex="3" value="Prévisualiser" /></p>';
$Envoi="\n".'<p class="bt">
<input name="envoi" tabindex="4" value="Envoyer" type="submit" /></p>';
if (isset($_POST['message']))
{
// La variable $verif va nous permettre d'analyser si la sémantique de l'email est bonne
$verif='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#';
//quelques remplacements pour les specialchars
$message=preg_replace('#(<|>)#', '-', $_POST['message']);
$message=str_replace('"', "'",$message);
$message=str_replace('&', 'et',$message);
$objet=preg_replace('#(<|>)#', '-', $_POST['objet']);
$objet=str_replace('"', "'",$objet);
$objet=str_replace('&', 'et',$objet);
// On assigne et/ou protège nos variables
$votremail=stripslashes(htmlentities($_POST['votremail']));
$message=stripslashes(htmlspecialchars($message));
$objet=stripslashes(htmlspecialchars($objet));
//input envoi/previsualiser
$envoi=htmlentities($_POST['envoi']);
$previsualiser=htmlentities($_POST['previsualiser']);
//on enlève les espaces
$votremail=trim($votremail);
$message=trim($message);
$objet=trim($objet);
$apercu_resultat='<p>Aperçu du résultat :</p>';
/*On vérifie si l'e mail et le message sont pleins, et on agit en fonction.
(on affiche Apercu du resultat, tel ou tel champ est vide, etc...*/
//Si ca ne vas pas (mal rempli, mail non valide...)
if((empty($message))or(empty($objet))or(!preg_match($verif,$votremail)))
{
//les 3 champs sont vides
if(empty($votremail)and(empty($message))and(empty($objet)))
{
echo '<p>Tous les champs sont vides.</p>';
$message='';$votremail='';$objet='';$apercu_resultat='';
}
//un des champs est vide
else
{
if(!preg_match($verif,$votremail))
echo'<p>Votre adresse e-mail n\'est pas valide.</p>';
else
{
echo'<p>Il faut remplir tous les champs !</p>';
if(empty($message))
$apercu_resultat='';
}
}
}
//Si les deux sont pleins et que l'adresse est valide, on envoie on on prévisualise sans envoi
else
{
$domaine=preg_replace('#[^@]+@(.+)#','$1',$votremail);
$DomaineMailExiste=checkdnsrr($domaine,'MX');
if(!$DomaineMailExiste)
echo'<p>Le nom de domaine de l\'adresse e-mail que vous avez donné n\'existe pas.</p>';
elseif(!empty($previsualiser))
{
$apercu_resultat='<p>Votre message et votre adresse e-mail sont valides et prêts à être envoyés.
<br />Vous n\'avez plus qu\'à cliquer sur le bouton "Envoyer".<br />Prévisualisation :</p>';
$Previsualiser='';
}
elseif(!empty($envoi))
{
$objet='[contact SITE] : '.$objet;
$headers='From:'.$votremail."\r\n".'To:'.$mail."\r\n".'Subject:'.$objet."\r\n".'Content-type:text/plain;charset=is-8859-1'."\r\n".'Sent:'.date('l, F d, Y H:i');
$destinataire='JEANPIERRE@hotmail.fr';
if(mail($destinataire,$objet,$message,$headers))
{
echo '<p>Votre message a bien été envoyé. Merci.</p><p><a href="/">Retour à la page d\'accueil</a></p>';
$Envoi='';
$Previsualiser='';
}
else
echo'<p>Un problème est survenu durant l\'envoi du mail.</p>';
}
else
echo'<p>Une condition innatendue est survenue lors de l\'exécution du script.</p>';
}
echo $apercu_resultat;
}
else
{
echo '<p>Toutes les lignes doivent être renseignées, merci.</p>';
$votremail='';$message='';
}
$bas_formulaire=$Previsualiser.$Envoi;
?>
<form id='contact' method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"" enctype="multipart/form-data">
<p id='obj'>Pour contacter directement JEAN PIERRE</p>
<p>
<label for='objet'>Objet de votre message :<br />
<input type='text' name='objet' id='objet' tabindex='10' size='50' value='<?php echo $objet;?>' />
</label>
</p>
<p id="adr"><label for="mail">Votre Adresse E-mail<br />
<input name="votremail" tabindex="20" size="40" type="text" id="mail" value="<?php echo $votremail; ?>" /></label></p>
<p id="msg"><label for="message">Votre message<br />
<textarea tabindex="30" rows="10" cols="50" name="message" id="message"><?php echo $message; ?></textarea>
</label></p>
<?php echo $bas_formulaire;?>
</form>
le 'www' est fait aussi pour communiquer, partager et échanger, non ?Configuration: Windows XP
Firefox 2.0.0.4
Bonjour,
<form id='contact' method="post" action="<?php echo $_SERVER['PHP_SELF'];?>" enctype="multipart/form-data">
<p id='obj'>Pour contacter directement JEAN PIERRE</p>
<p>
<label for='objet'>Objet de votre message :</label><br />
<input type='text' name='objet' tabindex='10' size='50' id='objet' value='<?php echo $objet;?>' />
</p>
<p id="adr">
<label for="mail">Votre Adresse e-mail :</label><br />
<input type="text" name="votremail" tabindex="20" size="40" id="mail" value="<?php echo $votremail; ?>" />
</p>
<p id="msg">
<label for="message">Votre message :</label><br />
<textarea tabindex="30" rows="10" cols="50" name="message" id="message"><?php echo $message; ?></textarea>
</p>
<p id="tel">
<label for="tel">Votre n° de téléphone :</label><br />
<input type="text" name="votretel" tabindex="40" size="10" id="telephone" value="<?php echo $votretel; ?>" />
</p>
<?php echo $bas_formulaire;?>
</form>
++ Vois : http://fr.selfhtml.org/html/formulaires/entree.htm Utilise ce bouton pour présenter ton code. (-: -- |
Merci c'est sympa
|
Bjr
<?php
echo "<pre>";
echo var_dump($_POST);
echo "</pre>";
$objet="";
$votretelephone="";
$Previsualiser='<p class="bt"><input type="submit" name="previsualiser" tabindex="3" value="Prévisualiser" /></p>';
$Envoi="\n".'<p class="bt"><input name="envoi" tabindex="4" value="Envoyer" type="submit" /></p>';
if (isset($_POST['message']))
{
// La variable $verif va nous permettre d'analyser si la sémantique de l'email est bonne
$verif='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#';
$votretelephone=isset($_POST['votretelephone']) ? htmlentities($_POST['votretelephone']) : "";
//quelques remplacements pour les specialchars
$message=preg_replace('#(<|>)#', '-', $_POST['message']);
$message=str_replace('"', "'",$message);
$message=str_replace('&', 'et',$message);
$objet=preg_replace('#(<|>)#', '-', $_POST['objet']);
$objet=str_replace('"', "'",$objet);
$objet=str_replace('&', 'et',$objet);
// On assigne et/ou protège nos variables
$votremail=stripslashes(htmlentities($_POST['votremail']));
$message=stripslashes(htmlspecialchars($message));
$objet=stripslashes(htmlspecialchars($objet));
//input button envoi/previsualiser
// $envoi=htmlentities($_POST['envoi']);
$envoi=isset($_POST['envoi']) ? htmlentities($_POST['envoi']) : "";
// $previsualiser=htmlentities($_POST['previsualiser']);
$previsualiser=isset($_POST['previsualiser']) ? htmlentities($_POST['previsualiser']) : "";
//on enlève les espaces
$votremail=trim($votremail);
$message=trim($message);
$objet=trim($objet);
$apercu_resultat='<p>Aperçu du résultat :</p>';
/*On vérifie si l'e mail et le message sont pleins, et on agit en fonction.
(on affiche Apercu du resultat, tel ou tel champ est vide, etc...*/
//Si ca ne vas pas (mal rempli, mail non valide...)
if((empty($message)) or (empty($objet)) or (!preg_match($verif,$votremail)))
{
//les 3 champs sont vides
if(empty($votremail) and (empty($message)) and (empty($objet)))
{
echo '<p>Tous les champs sont vides.</p>';
$message='';$votremail='';$objet='';$apercu_resultat='';
}
//un des champs est vide
else
{
if(!preg_match($verif,$votremail))
{
echo'<p>Votre adresse e-mail n\'est pas valide.</p>';
}
else
{
echo'<p>Il faut remplir tous les champs !</p>';
if(empty($message)) { $apercu_resultat=''; }
}
}
}
//Si les deux sont pleins et que l'adresse est valide, on envoie on on prévisualise sans envoi
else
{
$domaine=preg_replace('#[^@]+@(.+)#','$1',$votremail);
$DomaineMailExiste=checkdnsrr($domaine,'MX');
if(!$DomaineMailExiste)
{
echo'<p>Le nom de domaine de l\'adresse e-mail que vous avez donné n\'existe pas.</p>';
}
elseif(!empty($previsualiser))
{
$apercu_resultat='<p>Votre message et votre adresse e-mail sont valides et prêts à être envoyés.
<br />Vous n\'avez plus qu\'à cliquer sur le bouton "Envoyer".<br />Prévisualisation :</p>';
$Previsualiser='';
}
elseif(!empty($envoi))
{
$objet='[contact SITE] : '.$objet;
$headers='From:'.$votremail."\r\n".'To:'.$mail."\r\n".'Subject:'.$objet."\r\n".'Content-type:text/plain;charset=is-8859-1'."\r\n".'Sent:'.date('l, F d, Y H:i');
$destinataire='JEANPIERRE@hotmail.fr';
if(mail($destinataire,$objet,$message,$headers))
{
echo '<p>Votre message a bien été envoyé. Merci.</p><p><a href="/">Retour à la page d\'accueil</a></p>';
$Envoi='';
$Previsualiser='';
}
else
{
echo'<p>Un problème est survenu durant l\'envoi du mail.</p>';
}
}
else
{
echo'<p>Une condition innatendue est survenue lors de l\'exécution du script.</p>';
}
}
echo $apercu_resultat;
}
else
{
echo '<p>Toutes les lignes doivent être renseignées, merci.</p>';
$votremail='';$message='';
}
$bas_formulaire=$Previsualiser.$Envoi;
?>
<form id='contact' method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"" enctype="multipart/form-data">
<p id='obj'>Pour contacter directement JEAN PIERRE</p>
<p>
<label for='objet'>Objet de votre message :<br />
<input type='text' name='objet' id='objet' tabindex='10' size='50' value='<?php echo $objet;?>' />
</label>
</p>
<p id="adr">
<label for="mail">Votre Adresse E-mail<br />
<input name="votremail" tabindex="20" size="40" type="text" id="mail" value="<?php echo $votremail; ?>" />
</label>
</p>
<p id="tel">
<label for="telephone">Votre téléphone<br />
<input name="votretelephone" tabindex="30" size="30" type="text" id="telephone" value="<?php echo $votretelephone ?>" />
</label>
</p>
<p id="msg">
<label for="message">Votre message<br />
<textarea tabindex="40" rows="10" cols="50" name="message" id="message"><?php echo $message; ?></textarea>
</label>
</p>
<?php echo $bas_formulaire;?>
</form>
PhP Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ... |
Salut et grand merci, il me semblait bien t'avoir reconnu !
array(0) {
}
Toutes les lignes doivent être renseignées, merci......
etc etc etc mais, après l'envoi l'affichage donne ceci: array(5) {
["objet"]=>
string(20) "avec n° de téléphone"
["votremail"]=>
string(29) "azertyr@unmoi.info"
["votretelephone"]=>
string(8) "00000000"
["message"]=>
string(70) "DEPUIS LA PAGE DE TESTS
http://www.unmoi.info/sas/form3.php"
["envoi"]=>
string(7) "Envoyer"
}
Votre message a bien été envoyé. Merci.
Retour à la page d'accueil
Aperçu du résultat :
etc etc etc .... et en plus, le top, aucune trace du N° de téléphone dans le mail reçu ....... et il me semble qu'en plus, il 'double', j'ai reçu 2 mails à chaque essai .. alors si tu peux revoir un peu sur ce coup là ... @mitiés b g le 'www' est fait aussi pour communiquer, partager et échanger, non ? |
Oups !
echo "<pre>"; echo var_dump($_POST); echo "</pre>"; que j'ai laissées au début du code ! Je m'en sers pour déboguer et voir le contenu des toutes les variables de $_POST Tu dois les supprimer. Pour le tél, ou autre, ben il n'est pas prévu de champ particulier lors de l'envoie d'un mail : tu dois donc l'ajouter dans le corps du message : par ex fait $message = $message."\nTéléphone : ".$votretelephone;avant d'appeler la fonction mail() Mais le mieux reste bien sûr de conserver toutes ces informations dans une table ds MySQL ;-) PhP Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ... |
Ok merci
$message = $message."\nTéléphone : ".$votretelephone; mais où exactement ? car là je rame .... et pas besoin de vérification, ni de table MySQL @+ b g le 'www' est fait aussi pour communiquer, partager et échanger, non ? |
Ben disons juste avant
if(mail($destinataire,$objet,$message,$headers))
{
Ce qui donne $message = $message."\nTéléphone : ".$votretelephone;
if(mail($destinataire,$objet,$message,$headers))
{
Facile non ? PhP Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ... |
Bjr
|
Re ...
$objet="";
$votretelephone="";
$Previsualiser='<p class="bt"><input type="submit" name="previsualiser" tabindex="3" value="Prévisualiser" /></p>';
$Envoi="\n".'<p class="bt"><input name="envoi" tabindex="4" value="Envoyer" type="submit" /></p>';
if (isset($_POST['message']))
{
// La variable $verif va nous permettre d'analyser si la sémantique de l'email est bonne
$verif='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#';
$votretelephone=isset($_POST['votretelephone']) ? htmlentities($_POST['votretelephone']) : "";
//quelques remplacements pour les specialchars
$message=preg_replace('#(<|>)#', '-', $_POST['message']);
$message=str_replace('"', "'",$message);
$message=str_replace('&', 'et',$message);
$objet=preg_replace('#(<|>)#', '-', $_POST['objet']);
$objet=str_replace('"', "'",$objet);
$objet=str_replace('&', 'et',$objet);
// On assigne et/ou protège nos variables
$votremail=stripslashes(htmlentities($_POST['votremail']));
$message=stripslashes(htmlspecialchars($message));
$objet=stripslashes(htmlspecialchars($objet));
//input button envoi/previsualiser
// $envoi=htmlentities($_POST['envoi']);
$envoi=isset($_POST['envoi']) ? htmlentities($_POST['envoi']) : "";
// $previsualiser=htmlentities($_POST['previsualiser']);
$previsualiser=isset($_POST['previsualiser']) ? htmlentities($_POST['previsualiser']) : "";
//on enlève les espaces
$votremail=trim($votremail);
$message=trim($message);
$objet=trim($objet);
$apercu_resultat='<p>Aperçu du résultat :</p>';
/*On vérifie si l'e mail et le message sont pleins, et on agit en fonction.
(on affiche Apercu du resultat, tel ou tel champ est vide, etc...*/
//Si ca ne vas pas (mal rempli, mail non valide...)
if((empty($message)) or (empty($objet)) or (!preg_match($verif,$votremail)))
{
//les 3 champs sont vides
if(empty($votremail) and (empty($message)) and (empty($objet)))
{
echo '<p>Tous les champs sont vides.</p>';
$message='';$votremail='';$objet='';$apercu_resultat='';
}
//un des champs est vide
else
{
if(!preg_match($verif,$votremail))
{
echo'<p>Votre adresse e-mail n\'est pas valide.</p>';
}
else
{
echo'<p>Il faut remplir tous les champs !</p>';
if(empty($message)) { $apercu_resultat=''; }
}
}
}
//Si les deux sont pleins et que l'adresse est valide, on envoie on on prévisualise sans envoi
else
{
$domaine=preg_replace('#[^@]+@(.+)#','$1',$votremail);
$DomaineMailExiste=checkdnsrr($domaine,'MX');
if(!$DomaineMailExiste)
{
echo'<p>Le nom de domaine de l\'adresse e-mail que vous avez donné n\'existe pas.</p>';
}
elseif(!empty($previsualiser))
{
$apercu_resultat='<p>Votre message et votre adresse e-mail sont valides et prêts à être envoyés.
<br />Vous n\'avez plus qu\'à cliquer sur le bouton "Envoyer".<br />Prévisualisation :</p>';
$Previsualiser='';
}
elseif(!empty($envoi))
{
$objet='[contact SITE] : '.$objet;
$headers='From:'.$votremail."\r\n".'To:'.$mail."\r\n".'Subject:'.$objet."\r\n".'Content-type:text/plain;charset=is-8859-1'."\r\n".'Sent:'.date('l, F d, Y H:i');
$destinataire='JEANPIERRE@hotmail.fr';
$message = $message."\nTéléphone : ".$votretelephone;
if(mail($destinataire,$objet,$message,$headers))
{
echo '<p>Votre message a bien été envoyé. Merci.</p><p><a href="/">Retour à la page d\'accueil</a></p>';
$Envoi='';
$Previsualiser='';
}
else
{
echo'<p>Un problème est survenu durant l\'envoi du mail.</p>';
}
}
else
{
echo'<p>Une condition innatendue est survenue lors de l\'exécution du script.</p>';
}
}
echo $apercu_resultat;
}
else
{
echo '<p>Toutes les lignes doivent être renseignées, merci.</p>';
$votremail='';$message='';
}
$bas_formulaire=$Previsualiser.$Envoi;
?>
<form id='contact' method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"" enctype="multipart/form-data">
<p id='obj'>Pour contacter directement JEAN PIERRE</p>
<p>
<label for='objet'>Objet de votre message :<br />
<input type='text' name='objet' id='objet' tabindex='10' size='50' value='<?php echo $objet;?>' />
</label>
</p>
<p id="adr">
<label for="mail">Votre Adresse E-mail<br />
<input name="votremail" tabindex="20" size="40" type="text" id="mail" value="<?php echo $votremail; ?>" />
</label>
</p>
<p id="tel">
<label for="telephone">Votre téléphone<br />
<input name="votretelephone" tabindex="30" size="30" type="text" id="telephone" value="<?php echo $votretelephone ?>" />
</label>
</p>
<p id="msg">
<label for="message">Votre message<br />
<textarea tabindex="40" rows="10" cols="50" name="message" id="message"><?php echo $message; ?></textarea>
</label>
</p>
<?php echo $bas_formulaire;?>
</form>
@+ b g le 'www' est fait aussi pour communiquer, partager et échanger, non ? |
Salut
|