Formulaire.PHP

Résolu
Bonjour a tous et a toutes,

Je deviens FOLLE !!!
J'ai lu plusieurs sujets concernant un page de contact en format html et un "sendmail" en format php dans cet forum.

Je ne connais pas de tout le PHP !

Je souhaite que ma page de contact.html et mon formulaire.php marche.

Je suis allez sur le site de Zéro, j'ai même acheter un livre concernant le PHP pour debutants (rien à faire)

Es que vous pouvez m'aider SVP.

Voici mon fichier contact.html :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Contact</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#000000" text="#FFFFFF" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF">
<div align="center">
<p> </p>
<p> </p>
<form id="formulaire" name="form" method="POST" action="formulaire.php">
<table width="50%" border="0" align="center">
<tr>
<td valign="top" width="104" height="3">
<div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Société
: </font></div>
</td>
<td width="247" height="3">
<div align="left">
<input name="societe" type="text" id="societe" size="45" />
</div>
</td>
</tr>
<tr>
<td valign="top" width="104" height="3">
<div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Nom
: </font></div>
</td>
<td width="247" height="3">
<div align="left">
<input name="nom" type="text" id="nom" size="45" />
</div>
</td>
</tr>
<tr>
<td valign="top" width="104" height="3">
<div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Prénom
: </font></div>
</td>
<td width="247" height="3">
<div align="left">
<input name="prenom" type="text" id="prenom" size="45" />
</div>
</td>
</tr>
<tr>
<td valign="top" width="104" height="3">
<div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">E-mail
: </font></div>
</td>
<td width="247" height="3">
<div align="left">
<input name="email" type="text" id="email" size="45" />
</div>
</td>
</tr>
<tr>
<td valign="top" width="104" height="3">
<div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Adresse
: </font></div>
</td>
<td width="247" height="3">
<div align="left">
<textarea name="adresse" cols="35" id="adresse"></textarea>
</div>
</td>
</tr>
<tr>
<td valign="top" width="104" height="3">
<div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Message
: </font></div>
</td>
<td width="247" height="3">
<div align="left">
<textarea name="message" id="message" cols="35" rows="5"></textarea>
</div>
</td>
</tr>
<tr>
<td valign="top" width="104" height="3">
<div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"></font></div>
</td>
<td width="247" height="3">
<div align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<input name="envoyer" type="submit" id="envoyer" value="Envoyer" />
<input name="retablir" type="reset" id="rétablir" value="Rétablir" />
</font></div>
</td>
</tr>
</table>
</form>
<p> </p>
</div>
</body>
</html>

Voici mon fichier formulaire.php :

<?php

if (isset($_POST['societe'])
&& isset($_POST['nom'])
&& isset($_POST['prenom'])
&& isset($_POST['email'])
&& isset($_POST['adresse'])
&& isset($_POST['message'])
{
if ($_POST['societe'] != NULL
&& $_POST['nom'] != NULL
&& $_POST['prenom'] != NULL
&& $_POST['email'] != NULL
&& $_POST['adresse'] != NULL
&& $_POST['message'] != NULL
{

$_Mail = htmlspecialchars($_POST['email']);
$Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#';
if(preg_match($Syntaxe,$_email))
{
$_societe = htmlspecialchars($_POST['societe']);
$_nom = htmlspecialchars($_POST['nom']);
$_prenom = htmlspecialchars($_POST['prenom']);
$_email = htmlspecialchars($_POST['email']);
$_adresse = htmlspecialchars($_POST['adresse']);
$_message = htmlspecialchars($_POST['message']);

//message de confirmation pour le client
$destinataire = $_mail;
$sujet = "Récapitulatif de votre demande d'information";
$message = "Bonjour ".$_prenom." ".$_nom.",
J'ai bien pris en compte votre message et je vous contacterai dans les plus brefs délais.
_________________________________________________________________________________
Ceci est un mail automatique. Merci de ne pas y répondre. Vous pouvez nous contacter directement a l'adresse info@parexemplenomdedomaine.fr";

// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Additional headers
$headers .= 'From: Kyfou <info@parexemplenomdedomaine.fr>' . "\r\n";

mail($destinataire, $sujet, $message, $headers);

//message pour Kyfou
$destinataire = "info@parexemplenomdedomaine.fr";
$sujet = "Demande d'information de ".$_prenom." ".$_nom;
$entete = "";
$message = "<html>";
$message .= "<head></head>";
$message .= "<body>";
$message .= "<table><tr><td>Societe: </td><td>".$_societe."</td></tr>";
$message .= "<tr><td>Nom: </td><td>".$_nom."</td></tr>";
$message .= "<tr><td>Prenom: </td><td>".$_prenom."</td></tr>";
$message .= "<tr><td>E-mail: </td><td>".$_email."</td></tr>";
$message .= "<tr><td>Adresse: </td><td>".$_adresse."</td></tr>";
$message .= "<tr><td>Message: </td><td>".$_message."</td></tr>";
$message .= "</table></body></html>";
mail($destinataire, $sujet, $message, $entete);
$_reponse = "Votre message m'a été correctement transmis. Un E-mail de confirmation vient de vous être envoyé.";

} //fermeture verif syntaxe email
else {
$_reponse = "Votre adresse E-mail est incorrect.";
}
} //fermeture verif tous les champs remplis
else {
$_reponse = "Veuillez remplir tous les champs.";
}
} //fermeture verif transmission exhaustives des champs
else {
$_reponse = "";
}
?>

Comment vous pouvez constater, j'ai copier beaucoup des exemples dans cet forum pour créer une seule.

Pour info, j'utilise Dreamweaver 4 et je transfere ces fichiers dans via mon FTP dans mode Binary.

Je vous remercie d'avance pour votre aide et patience.
Cordialement,
Kyfou




--
Vivre est quelque chose pour apprendre,
Mais voyager est mieux.

4 réponses

  1. Salut,

    Je regarde ton code, j'ai du mal à comprendre, ça m'étonne pas que ça marche pas :)

    Je te nettoie tout ça et je transmet ;)
    La chance aide parfois, le travail toujours !
    Le vrai con est con. Celui qui n'est pas un vrai con n'est pas plus con qu'un autre.
    1. Merci Alexis-pires, j'attendrai.

      J'ai mon site chez OVH.
  2. Re,

    Je suis un peu fatigué, mais dis moi si ça marche, sinon donne moi l'erreur que ça donne.
    <?php 
    
    if (empty($_POST['societe']) && empty($_POST['nom']) && empty($_POST['prenom']) && empty($_POST['email']) && empty($_POST['adresse']) && empty($_POST['message'])) 
    { 
    $_Mail = htmlspecialchars($_POST['email']); 
    $Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#'; 
    
    
    if(preg_match($Syntaxe,$_email)) 
    
    {
    	
    $_societe = htmlspecialchars($_POST['societe']); 
    $_nom = htmlspecialchars($_POST['nom']); 
    $_prenom = htmlspecialchars($_POST['prenom']); 
    $_email = htmlspecialchars($_POST['email']); 
    $_adresse = htmlspecialchars($_POST['adresse']); 
    $_message = htmlspecialchars($_POST['message']); 
    
    //message de confirmation pour le client 
    $destinataire = $_mail; 
    $sujet = "Récapitulatif de votre demande d'information"; 
    $message = "Bonjour ".$_prenom." ".$_nom.", 
    J'ai bien pris en compte votre message et je vous contacterai dans les plus brefs délais.<br />
    _________________________________________________________________________________<br />
    Ceci est un mail automatique. Merci de ne pas y répondre. Vous pouvez nous contacter directement a l'adresse info@parexemplenomdedomaine.fr"; 
    
    // To send HTML mail, the Content-type header must be set 
    $headers = 'MIME-Version: 1.0' . "\r\n" .
    'Content-type: text/html; charset=iso-8859-1' . "\r\n" . 
    'From: Kyfou <info@parexemplenomdedomaine.fr> to ' . $destinataire . "\r\n"; // Additional headers 
    
    mail($destinataire, $sujet, $message, $headers); 
    
    //message pour Kyfou 
    $destinataire = "info@parexemplenomdedomaine.fr"; 
    $sujet = "Demande d'information de ".$_prenom." ".$_nom; 
    $entete = ""; 
    $message = "<html>"; 
    $message .= "<head></head>"; 
    $message .= "<body>"; 
    $message .= "<table><tr><td>Societe: </td><td>".$_societe."</td></tr>"; 
    $message .= "<tr><td>Nom: </td><td>".$_nom."</td></tr>"; 
    $message .= "<tr><td>Prenom: </td><td>".$_prenom."</td></tr>"; 
    $message .= "<tr><td>E-mail: </td><td>".$_email."</td></tr>"; 
    $message .= "<tr><td>Adresse: </td><td>".$_adresse."</td></tr>"; 
    $message .= "<tr><td>Message: </td><td>".$_message."</td></tr>"; 
    $message .= "</table></body></html>"; 
    mail($destinataire, $sujet, $message, $entete); 
    $_reponse = "Votre message m'a été correctement transmis. Un E-mail de confirmation vient de vous être envoyé."; 
    
    }
    
    else 
    {
    $_reponse = "Votre adresse E-mail est incorrect."; 
    }
    }
    
    else { 
    $_reponse = "Veuillez remplir tous les champs."; 
    } 
    
    ?> 

    1. Je vais essayer maintenant !
    2. Pas de message d'erreur, ça va à une page blanche (formulaire.php)

      J'ai changé mon addresse e-mail par le vrai bien sur; rien reçu dans ma boîte messagerie.

      Aussi, quand je ne remplie pas les champs dans le "contact.html" il n'y à pas de message d'erreur non plus.
    3. Tu veux utiliser php mailer ? si oui, je vais t'aider la dessus
    4. Salut briiiix,

      J'ai deja essayer installer cet PHPMailer_v2.0.4 j'ai rien compris :(
    5. Pourtant c simple en plus ça te permet de joindre des fichiers et d'enrechir le html de ton email, tu veu pas essayer ?
  3. <?php 
    
    if (!empty($_POST['societe']) && !empty($_POST['nom']) && !empty($_POST['prenom']) && !empty($_POST['email']) && !empty($_POST['adresse']) && !empty($_POST['message'])) 
    { 
    $_Mail = htmlspecialchars($_POST['email']); 
    $Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#'; 
    
    
    if(preg_match($Syntaxe, $_Mail)) 
    
    {
    	
    $_societe = htmlspecialchars($_POST['societe']); 
    $_nom = htmlspecialchars($_POST['nom']); 
    $_prenom = htmlspecialchars($_POST['prenom']); 
    $_email = htmlspecialchars($_POST['email']); 
    $_adresse = htmlspecialchars($_POST['adresse']); 
    $_message = htmlspecialchars($_POST['message']); 
    
    //message de confirmation pour le client 
    $destinataire = $_Mail; 
    $sujet = "Récapitulatif de votre demande d'information"; 
    $message = "Bonjour ".$_prenom." ".$_nom.", 
    J'ai bien pris en compte votre message et je vous contacterai dans les plus brefs délais.<br />
    _________________________________________________________________________________<br />
    Ceci est un mail automatique. Merci de ne pas y répondre. Vous pouvez nous contacter directement a l'adresse info@parexemplenomdedomaine.fr"; 
    
    // To send HTML mail, the Content-type header must be set 
    $headers = 'MIME-Version: 1.0' . "\r\n" .
    'Content-type: text/html; charset=iso-8859-1' . "\r\n" . 
    'From: Kyfou <info@parexemplenomdedomaine.fr> to ' . $destinataire . "\r\n"; // Additional headers 
    
    mail($destinataire, $sujet, $message, $headers); 
    
    //message pour Kyfou 
    $destinataire = "info@parexemplenomdedomaine.fr"; 
    $sujet = "Demande d'information de ".$_prenom." ".$_nom; 
    $entete = ""; 
    $message = '
    <html> 
    <head></head> 
    <body>
    <table>
    <tr>
    <td>Societe: </td><td>' .$_societe. '</td></tr>
    <tr><td>Nom: </td><td>' .$_nom. '</td></tr> 
    <tr><td>Prenom: </td><td>' .$_prenom.'</td></tr>
    <tr><td>E-mail: </td><td>'.$_email.'</td></tr>
    <tr><td>Adresse: </td><td>'.$_adresse.'</td></tr> 
    <tr><td>Message: </td><td>'.$_message.'</td></tr> 
    </table></body></html>';
    mail($destinataire, $sujet, $message, $entete); 
    $_reponse = "Votre message m'a été correctement transmis. Un E-mail de confirmation vient de vous être envoyé."; 
    
    }
    
    else 
    {
    $_reponse = "Votre adresse E-mail est incorrect."; 
    }
    }
    
    else { 
    $_reponse = "Veuillez remplir tous les champs."; 
    } 
    
    echo $_reponse;
    ?>


    En local ça fonctionne ...
    1. Il y avait des erreurs de concaténation, des fonction php superflus, des problème de condition, tu n'affiché pas la variable pour le retour donc normal pour la page blanche et enfin des erreurs avec des variable notamment avec la casse !
    2. Desolé pour le retard (je viens d'attraper un p*** de souris miniscule dans mon salon !)
      Je vais ressayer ! Merci.
    3. C'est quoi "en local" je ne comprend pas.
    4. :) en local c'est quand tu exécute tes pages php sur ton ordi, sans passer par un serveur. Toi pour tester tes pages, tu les met sur ton ftp ... Ben moi comme j'ai la flemme je le fais sur mon pc ;)
    5. il veut dire qu'il l'a essayé sur son ordinateur
  4. UN GRAND MERCI !!!

    ça marche !

    Maintenant je vais essayer que le e-mail que le client recoit n'apparait pas dans "DE" : Kyfou; to@60gp.ovh.net; emailclient@fournisseur.fr

    Aussi faire un redirection à ma page d'accueil.

    Thankyou, thankyou et merci.
    Alexis : Merci pour votre temps.
    briiiix : PhpMailer se m'intrigue car j'aime apprendre, mais ce tard et je ne veux pas abuser non plus de votre aide.
    1. Excellent, tres bien joué alexis
    2. je met en résolu, si tu as d'autre problème comme les caractère spéciaux où ce que tu compte faire n'hésite pas à réouvrir ou a créé un nouveau sujet.
    3. Merci à bientôt