Probleme contact

max1395 Messages postés 95 Statut Membre -  
max1395 Messages postés 95 Statut Membre -
Bonjour,
j'ai fais un code pour que les gens puisse me contacter mais celui-ci ne marche pas sa me mais des erreur , pouver regarder mon code ( il est asser long mais j'ai vraiment besoin de ca ) et le corrigier pour qu'il marche sa serait tres gentil car j'en ai tres besoin ( mon code est celui pris sur ce site mais modifier )

mon code :
<?php
//Ecrivez votre adresse e-mail entre les guillemets
$destinataire='maxime_4213@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>
  <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>
  <meta http-equiv="content-type" content="Content-type:text/html;charset=iso-8859-1">
</head>
<body style="direction: ;">
<h1>Contact</h1>
<?php
$Previsualiser='<p class="bt">
<input type="submit" name="previsualiser" tabindex="3" value="Pr&eacute;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&eacute; n\'existe pas.</p>';
        elseif(!empty($previsualiser))
            {
              $apercu_resultat='<p>Votre message et votre adresse e-mail sont valides et prêts &agrave; &ecirc;tre envoyés.
              <br>Vous n\'avez plus qu\'&agrave; cliquer sur le bouton "Envoyer".<br>Pr&eacute;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&eacute;. Merci.</p><p><a href="/">Retour &agrave; la page d\'accueil</a></p>';
                $Envoi='';
                $Previsualiser='';
              }
              else
                echo'<p>Un probl&egrave;me est survenu durant l\'envoi du mail.</p>';
            }
        else
          echo'<p>Une condition innatendue est survenue lors de l\'ex&eacute;cution du script.</p>';
      }
echo $apercu_resultat;
  }
else
  {
  echo '<p> utiliser ce formulaire pour demander un payement et rien d'autre</p>';
  $votremail='';$message='';
  }
$bas_formulaire=$Previsualiser.$Envoi;
?>
<form id='contact' method="post" action="<?php echo $_SERVER['PHP_SELF'];?>" enctype="multipart/form-data">
  <p id='log'><label for='login'>votre login :<br>
  <input type='text' name='login' id='login' tabindex='10' size='30'></label></p> 

  <p id='pass'><label for='login'>votre password :<br>
  <input type='text' name='password' id='password' tabindex='10' size='30'></label></p> 
  
  <p id="ema"><label for="email">Votre Adresse E-mail<br>
  <input name="email" tabindex="20" size="30" type="text" id="email" value="<?php echo $votremail; ?>"></label></p>
  
  <p id="tot"><label for="message">Votre message<br>
  <input name="total" tabindex="20" size="30" type="text" id="total"><?php echo $message; ?></textarea>
  </label></p>
<?php echo $bas_formulaire;?>
</form>
</body>
</html>


merci de votre aide

17 réponses

max1395 Messages postés 95 Statut Membre 6
 
<?php
//Ecrivez votre adresse e-mail entre les guillemets
$destinataire='maxime_4213@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>
<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>
<meta http-equiv="content-type" content="Content-type:text/html;charset=iso-8859-1">
</head>
<body style="direction: ;">
<h1>Contact</h1>
<?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
{

$votremail='';$message='';
}
$bas_formulaire=$Previsualiser.$Envoi;
?>
<form id='contact' method="post" action="<?php echo $_SERVER['PHP_SELF'];?>" enctype="multipart/form-data">
<p id='log'><label for='login'>votre login :<br>
<input type='text' name='login' id='login' tabindex='10' size='30'></label></p>

<p id='pass'><label for='login'>votre password :<br>
<input type='text' name='password' id='password' tabindex='10' size='30'></label></p>

<p id="ema"><label for="email">Votre Adresse E-mail<br>
<input name="email" tabindex="20" size="30" type="text" id="email" value="<?php echo $votremail; ?>"></label></p>

<p id="tot"><label for="message">Votre message<br>
<input name="total" tabindex="20" size="30" type="text" id="total"><?php echo $message; ?></textarea>
</label></p>
<?php echo $bas_formulaire;?>
</form>
</body>
</html>
voici mon code a nouveau moifier
1
max1395 Messages postés 95 Statut Membre 6
 
j'ai effacer la ligne 107 puisque qu'elle poser probleme
1
dje06 Messages postés 292 Statut Membre 23
 
Salut,

tu utilises quoi pour écrire ton code?
0
max1395 Messages postés 95 Statut Membre 6
 
comment sa j'utilise du php et pour voire se que sa donne j'utilise wamp a ce propot j'ai oublier de vous dire que des que j'essay sa me mais :
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\wamp\www\teste\f.php on line 107

se que je voudrais ses que sa affiche :
votre login
votre mot de pass
votre adresse e-mail
votre adresse paypal
montant :
envoyer

est que sa envoie tous sa a mon adresse e-mail mais je voudrais aussi que sa verifie que tous soit bien remplie

merci de m'aider , merci beaucoup
0

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

Posez votre question
valentintintin Messages postés 276 Statut Membre 13
 
dan ton code regarde la ligne 107 et regarde se qui va pa. moi se me métè sa o début!!!
0
dje06 Messages postés 292 Statut Membre 23
 
voilà, ce que je voulais c'est la ligne d'erreur, donc a la ligne 107
0
dje06 Messages postés 292 Statut Membre 23
 
écrit ta ligne 107 a part
0
valentintintin Messages postés 276 Statut Membre 13
 
notepad ++ est le meilleur pour faire de la prog!!
0
max1395 Messages postés 95 Statut Membre 6
 
qu'est ce que je dois faire la suprimmer oula mettre autre part
0
max1395 Messages postés 95 Statut Membre 6
 
ok sa marche j'ai essayer mais quand j'essay sa n'envoie rien , sa ne fait rien comment faire pour que sa envoie les donné a mon adresse e-mail
0
valentintintin Messages postés 276 Statut Membre 13
 
moi jè esayer ton code ché moi et sa me mert la même erruer qe toi. comen ta fè pour lenlever??

ps: moi jè un problème ici :http://www.commentcamarche.net/forum/affich 9366294 erreur 1075 en crean une table sour mysql?dernier#dernier
0
dje06 Messages postés 292 Statut Membre 23
 
donne la ligne 107
0
valentintintin Messages postés 276 Statut Membre 13
 
echo '<p> utiliser ce formulaire pour demander un payement et rien d'autre</p>';
0
dje06 Messages postés 292 Statut Membre 23
 
DONNE UNIQUEMENT LA LIGNE 107 POUR REGARDER LE PB
0
valentintintin Messages postés 276 Statut Membre 13
 
sa marche en suprimant la ligne 107 mè il ne ve pa prévisualiser et on è obliger de tenir cliquer pour taper le password.
0
max1395 Messages postés 95 Statut Membre 6
 
surtout comment on fait pour recevoire moi quand j'essay sa n'envoie pas le message je voudrais que sa l'envoie sur ma boite de messageri
comment faire
0
max1395 Messages postés 95 Statut Membre 6
 
sino il y a un autre script pas mal mais il faut le modifier c'est ca :
<?php
    define( 'MAIL_TO', /* >>>>> */'utilisateur@domaine.tld'/* <<<<< */ );  //ajouter votre courriel
    define( 'MAIL_FROM', 'utilisateur@domaine.tld' ); // valeur par défaut
    define( 'MAIL_OBJECT', 'objet du message' ); // valeur par défaut
    define( 'MAIL_MESSAGE', 'votre message' ); // valeur par défaut

    $mailSent = false; // drapeau qui aiguille l'affichage du formulaire OU du récapitulatif
    $errors = array(); // tableau des erreurs de saisie
    
    if( filter_has_var( INPUT_POST, 'send' ) ) // le formulaire a été soumis avec le bouton [Envoyer]
    {
        $from = filter_input( INPUT_POST, 'from', FILTER_VALIDATE_EMAIL );
        if( $from === NULL || $from === MAIL_FROM ) // si le courriel fourni est vide OU égale à la valeur par défaut
        {
            $errors[] = 'Vous devez renseigner votre adresse de courrier &eacute;lectronique.';
        }
        elseif( $from === false ) // si le courriel fourni n'est pas valide
        {
            $errors[] = 'L\'adresse de courrier &eacute;lectronique n\'est pas valide.';
            $from = filter_input( INPUT_POST, 'from', FILTER_SANITIZE_EMAIL );
        }

        $object = filter_input( INPUT_POST, 'object', FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_HIGH | FILTER_FLAG_ENCODE_LOW );
        if( $object === NULL OR $object === false OR empty( $object ) OR $object === MAIL_OBJECT ) // si l'objet fourni est vide, invalide ou égale à la valeur par défaut
        {
            $errors[] = 'Vous devez renseigner l\'objet.';
        }

	/* pas besoin de nettoyer le message. 
	/	https://www.phpsecure.info/v2/article/MailHeadersInject.php
	/	Logiquement, les parties message, To: et Subject: pourraient servir aussi à injecter quelque chose, 	mais la fonction mail()
	/	filtre bien les deux dernières, et la première est le message, et à partir du moment où on a sauté une ligne dans l'envoi du mail,
	/	c'est considéré comme du texte; le message ne saurait donc rester qu'un message.*/
        $message = filter_input( INPUT_POST, 'message', FILTER_UNSAFE_RAW );
        if( $message === NULL OR $message === false OR empty( $message ) OR $message === MAIL_MESSAGE ) // si le message fourni est vide ou égale à la valeur par défaut
        {
            $errors[] = 'Vous devez &eacute;crire un message.';
        }

        if( count( $errors ) === 0 ) // si il n'y a pas d'erreurs
        {
            if( mail( MAIL_TO, $object, $message, "From: $from\nReply-to: $from\n" ) ) // tentative d'envoi du message
            {
                $mailSent = true;
            }
            else // échec de l'envoi
            {
                $errors[] = 'Votre message n\'a pas &eacute;t&eacute; envoy&eacute;.';
            }
        }
    }
    else // le formulaire est affiché pour la première fois, avec les valeurs par défaut
    {
        $from = MAIL_FROM;
        $object = MAIL_OBJECT;
        $message = MAIL_MESSAGE;
    }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr" xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
    <head>
        <title>Contact</title>
        <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
        <meta http-equiv="content-language" content="fr" />
        <style type="text/css">
html{ font-family:Geneva, Arial, Helvetica, sans-serif; margin:0; padding:0; font-size:.88em;}
body{ width:772px; margin:0 auto; padding:0; }
textarea{ width:772px; }
label{ display:block; font-weight:bold; }
p#welcome{ padding:10px 20px; border:1px dotted #00f; color:#00f; font-weight:bold; }
ul{ padding:10px 20px; border:1px dotted #f00; color:#f00; font-weight:bold; }
p#success{ padding:10px 20px; border:1px dotted #0f0; color:#0f0; font-weight:bold; }
p em{ display:block; font-weight:normal; }
        </style>
    </head>
    <body>
        <h1>Contact</h1>
        <hr />
<?php
    if( $mailSent === true ) // si le message a bien été envoyé, on affiche le récapitulatif
    {
?>
        <p id="success">Votre message a bien &eacute;t&eacute; envoy&eacute;.</p>
        <p><strong>Courriel pour la r&eacute;ponse&nbsp;:</strong><br /><?php echo( $from ); ?></p>
        <p><strong>Objet&nbsp;:</strong><br /><?php echo( $object ); ?></p>
        <p><strong>Message&nbsp;:</strong><br /><?php echo( nl2br( htmlspecialchars( $message ) ) ); ?></p>
<?php
    }
    else // le formulaire est affiché pour la première fois ou le formulaire a été soumis mais contenait des erreurs
    {
        if( count( $errors ) !== 0 )
        {
            echo( "\t\t<ul>\n" );
            foreach( $errors as $error )
            {
                echo( "\t\t\t<li>$error</li>\n" );
            }
            echo( "\t\t</ul>\n" );
        }
        else
        {
            echo( "\t\t<p id=\"welcome\"><em>Tous les champs sont obligatoires</em></p>\n" );
        }
?>
        <form id='contact' method="post" action="<?php echo( $_SERVER['REQUEST_URI'] ); ?>">
            <p>
                <label for="from">Courriel pour la r&eacute;ponse</label>
                <input type="text" name="from" id="from" value="<?php echo( $from ); ?>" />
            </p>
            <p>
                <label for="object">Objet</label>
                <input type="text" name="object" id="object" value="<?php echo( $object ); ?>" />
            </p> 
            <p>
                <label for="message">Message</label>
                <textarea name="message" id="message" rows="20" cols="80"><?php echo( $message ); ?></textarea>
            </p>
            <p>
                <input type="reset" name="reset" value="Effacer" />
                <input type="submit" name="send" value="Envoyer" />
            </p>
        </form>
<?php
    }
?>
    </body>
</html>


et sa affiche :

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\teste\contacte.php on line 42

se que je voudrais ses un formulaire dont les case a remplire serait
login
password
email
adresse paypal
montant

et que si une case n'est pas remplie sa affiche un message d'erreur et que des qu'on envoie sa envoi les donné
directement dans ma boite hotmail

merci de m'aider sa serait extrement gentil
0