En php , la page contact
Résolu
Shippuden
Messages postés
45
Date d'inscription
Statut
Membre
Dernière intervention
-
Shippuden Messages postés 45 Date d'inscription Statut Membre Dernière intervention -
Shippuden Messages postés 45 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
voila j'aimerais trouver pourquoi quand je click sur envoyé sa ne fonctionne pas et aussi que vous enleviez l'option aperçus svp , voici les codes de ma pages :
<?php
//Ecrivez votre adresse e-mail entre les guillemets
$destinataire='mjs.team-alphaomega@live.fr';
?><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="fr">
<head>
<title>Contact</title>
<style type="text/css">
form#contact{border:0px solid red;width:70%;padding:1em}
p#msg,p#adr,p#obj{border:0px solid green;margin-right:10%;padding:10px}
p#msg textarea{border:1px solid blue;height:250px;width:550px}
p#adr input,p#obj input{border:0px blue solid;height:20px}
p.bt{text-align:center}
p.bt input{border:0px red solid;width:150px;height:15px}
</style>
<meta http-equiv="content-type" content="Content-type:text/html;charset=iso-8859-1">
</head>
<body style="direction: ltr;">
<h5>Contact</h5>
<?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='[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');
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>Vous pouvez utiliser ce formulaire pour me contacter.</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'><label for='objet'>Objet de votre message :<br>
<h6><input type='text' name='objet' id='objet' tabindex='20' size='40'></h6></label></p>
<p id="adr"><label for="mail">Votre Adresse E-mail :<br>
<h6><input name="votremail" tabindex="20" size="40" type="text" id="mail" value="<?php echo $votremail; ?>"></h6></label></p>
<p id="msg"><label for="message">Votre message :<br>
<textarea tabindex="30" rows="20" cols="120" name="message" id="message"><?php echo $message; ?></textarea>
</label></p>
<h6><?php echo $bas_formulaire;?></h6>
</form>
</body>
</html>
j'attend votre aide , ces assez urgent merci!!
voila j'aimerais trouver pourquoi quand je click sur envoyé sa ne fonctionne pas et aussi que vous enleviez l'option aperçus svp , voici les codes de ma pages :
<?php
//Ecrivez votre adresse e-mail entre les guillemets
$destinataire='mjs.team-alphaomega@live.fr';
?><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="fr">
<head>
<title>Contact</title>
<style type="text/css">
form#contact{border:0px solid red;width:70%;padding:1em}
p#msg,p#adr,p#obj{border:0px solid green;margin-right:10%;padding:10px}
p#msg textarea{border:1px solid blue;height:250px;width:550px}
p#adr input,p#obj input{border:0px blue solid;height:20px}
p.bt{text-align:center}
p.bt input{border:0px red solid;width:150px;height:15px}
</style>
<meta http-equiv="content-type" content="Content-type:text/html;charset=iso-8859-1">
</head>
<body style="direction: ltr;">
<h5>Contact</h5>
<?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='[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');
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>Vous pouvez utiliser ce formulaire pour me contacter.</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'><label for='objet'>Objet de votre message :<br>
<h6><input type='text' name='objet' id='objet' tabindex='20' size='40'></h6></label></p>
<p id="adr"><label for="mail">Votre Adresse E-mail :<br>
<h6><input name="votremail" tabindex="20" size="40" type="text" id="mail" value="<?php echo $votremail; ?>"></h6></label></p>
<p id="msg"><label for="message">Votre message :<br>
<textarea tabindex="30" rows="20" cols="120" name="message" id="message"><?php echo $message; ?></textarea>
</label></p>
<h6><?php echo $bas_formulaire;?></h6>
</form>
</body>
</html>
j'attend votre aide , ces assez urgent merci!!
A voir également:
- En php , la page contact
- Supprimer page word - Guide
- Mettre google en page d'accueil - Guide
- Traduire une page en français - Guide
- Imprimer tableau excel sur une page - Guide
- Recuperer contact carte sim - Guide
11 réponses
pour améliorer la lisibilité j'ai mis le code en forme un minimum et posté sur pastebin pour avoir la colorisation syntaxique:
http://pastebin.com/m3cb15511
au premier coup d'oeil il y a beaucoup de boucle if imbriquées, pour ne ps dire trop...
http://pastebin.com/m3cb15511
au premier coup d'oeil il y a beaucoup de boucle if imbriquées, pour ne ps dire trop...
salut,
oui nous pouvons t'aider mais on ne va peut être pas tout faire non plus !
si cela ne fonctionne pas, qu'est-ce qui ne fonctionne pas ? tu as un message d'erreur ?
oui nous pouvons t'aider mais on ne va peut être pas tout faire non plus !
si cela ne fonctionne pas, qu'est-ce qui ne fonctionne pas ? tu as un message d'erreur ?
aucune msg d'érreur , c'est juste que quand je clique sur envoyé , y'a aucun méssage qui est envoyé , il doit avoir une erreur de code mais laquelle je ne sais pas :(
mais j'aimerais que le bouton prévisualiser n'apprais plus car il sert pas vraiment :x
lol Dalida ce qui se passe c'est que comme je l'ai dit rien se passe quand je clique sur envoyé ^^
onan , je suis censé faire quoi ?
sinon si vous avais une autre manière de procéder sous html , ma page est en php car mon site l'est mais cepandant ma page contact peut etre fait en html , donc si y'a une autre solution et manière plus simple , je vous remercierais de m'éclairer svp ^^
mais j'aimerais que le bouton prévisualiser n'apprais plus car il sert pas vraiment :x
lol Dalida ce qui se passe c'est que comme je l'ai dit rien se passe quand je clique sur envoyé ^^
onan , je suis censé faire quoi ?
sinon si vous avais une autre manière de procéder sous html , ma page est en php car mon site l'est mais cepandant ma page contact peut etre fait en html , donc si y'a une autre solution et manière plus simple , je vous remercierais de m'éclairer svp ^^
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
re,
je ne voulais pas mettre le nez dans ton code, il a bien fallu mais je me suis vite arrêté !
les balises sont utilisées n'importe comment, en plus il y a ce bouton en trop.
regarde plutôt ce code, ça ira sans doute beaucoup plus vite !
je ne voulais pas mettre le nez dans ton code, il a bien fallu mais je me suis vite arrêté !
les balises sont utilisées n'importe comment, en plus il y a ce bouton en trop.
regarde plutôt ce code, ça ira sans doute beaucoup plus vite !
dalida le code que j'ai c/c est exactement celui dont tu me demande de regarder , j'avais besoin d'un formulaire alors j'ai pris celui ci , d'ailleur si tu compare tu verras que c'est exactement la même chose :x
merci de ton aide mais si les balises sont mal utilisé faut dire a celui qui a poster le formulaire :(
moi j'ai juste copie / coller et mis mon e-mail :x
maintenant si ce formulaire est trop compliqué j'aimerais bien connaitre un de plus facile à utiliser merci!!
merci de ton aide mais si les balises sont mal utilisé faut dire a celui qui a poster le formulaire :(
moi j'ai juste copie / coller et mis mon e-mail :x
maintenant si ce formulaire est trop compliqué j'aimerais bien connaitre un de plus facile à utiliser merci!!
salut,
c'est la meilleure de l'année celle-là, ça m'apprendra à pas assez lire les articles de la faq !
il fonctionne très bien ce code mais tu ne peux pas le faire fonctionner en local.
et ton serveur ne doit pas être bien paramétré car il aurait dû te renvoyer deux erreurs.
vérifie que tu aies bien ces valeurs dans ton 'php.ini' :
le code sans preview :
c'est la meilleure de l'année celle-là, ça m'apprendra à pas assez lire les articles de la faq !
il fonctionne très bien ce code mais tu ne peux pas le faire fonctionner en local.
et ton serveur ne doit pas être bien paramétré car il aurait dû te renvoyer deux erreurs.
vérifie que tu aies bien ces valeurs dans ton 'php.ini' :
error_reporting = E_ALL display_errors = On
le code sans preview :
<?php //Ecrivez votre adresse e-mail entre les guillemets $destinataire='mathieuadrien@hotmail.fr'; ?><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="fr"> <head> <title>Contact</title> <meta http-equiv="content-type" content="Content-type:text/html;charset=iso-8859-1"> <style type="text/css"> form#contact{border:2px solid red;width:70%;padding:1em} p#msg,p#adr,p#obj{border:2px solid green;margin-right:10%;padding:10px} p#msg textarea{border:2px solid blue;height:30em;width:80%} p#adr input,p#obj input{border:2px solid blue} p.bt{text-align:center} p.bt input{border:1px red solid;width:50%} </style> </head> <body style="direction: ltr;"> <h1>Contact</h1> <?php $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']); //on enlève les espaces $votremail=trim($votremail); $message=trim($message); $objet=trim($objet); /*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($envoi)) { $objet='[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'); 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>'; } } else { echo '<p>Vous pouvez utiliser ce formulaire pour me contacter.</p>'; $votremail='';$message=''; } $bas_formulaire=$Envoi; ?> <form id='contact' method="post" action="<?php echo $_SERVER['PHP_SELF'];?>" enctype="multipart/form-data"> <p id='obj'><label for='objet'>Objet de votre message :<br> <input type='text' name='objet' id='objet' tabindex='10' size='30'></label></p> <p id="adr"><label for="mail">Votre Adresse E-mail<br> <input name="votremail" tabindex="20" size="30" type="text" id="mail" value="<?php echo $votremail; ?>"></label></p> <p id="msg"><label for="message">Votre message<br> <textarea tabindex="30" rows="20" cols="120" name="message" id="message"><?php echo $message; ?></textarea> </label></p> <?php echo $bas_formulaire;?> </form> </body> </html>
okiz me disais aussi , merci .
tu serais me conseiller un bon hébergeur web gratuit stp ?
car j'ai des problèmes pour affichage sous firefox donc il faudrait que je mette en ligne pour qu'ont puisse mieux m'aider a ce sujet.
tu serais me conseiller un bon hébergeur web gratuit stp ?
car j'ai des problèmes pour affichage sous firefox donc il faudrait que je mette en ligne pour qu'ont puisse mieux m'aider a ce sujet.
tu as une liste dans la faq.
selon ce que tu veux faire un hébergeur payant peut valoir le coût, tu dois pouvoir en trouver pour une vingtaine d'euros par an.
je viens de coder une version PHP5 du formulaire de contact, veux-tu être le premier bêta testeur ?
selon ce que tu veux faire un hébergeur payant peut valoir le coût, tu dois pouvoir en trouver pour une vingtaine d'euros par an.
je viens de coder une version PHP5 du formulaire de contact, veux-tu être le premier bêta testeur ?
je veut bien , mais dans ce cas tu doit me dire comment l'insérer , car j'ai pas de problèmes avec le reste de mon web :D