glodybiss
Messages postés440Date d'inscriptionvendredi 6 juin 2008StatutMembreDernière intervention29 juillet 2015
-
2 nov. 2011 à 09:01
glodybiss
Messages postés440Date d'inscriptionvendredi 6 juin 2008StatutMembreDernière intervention29 juillet 2015
-
7 nov. 2011 à 10:21
Bonjour,
J'ai télécharger une source d'un formulaire d'envoi de message je l'ai personnalisé à ma façon dans mon site, il fonctionne parfaitement mais il lors de l'envoi des messages en ligne les messages ne sont pas envoyés. Veillez s'il vous plait m'aider
Merci !
voici mes code :
Formulaire :
<div class="titre">Nous Contacter</div>
<img src="images/s_onligne.png" title="Support en ligne" class="right" alt="Support en ligne" />
<TABLE BORDER="0" style="margin-top:3px; margin-left:40px" align="left">
<?php
if( $mailSent === true ) // si le message a bien été envoyé, on affiche le récapitulatif
{
?>
<p id="success">Merci ! votre message à bien été envoyé</p>
<p><strong>Courriel pour la réponse :</strong><br /><?php echo($from); ?></p>
<p><strong>Objet :</strong><br /><?php echo( $object ); ?></p>
<p><strong>Message :</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 class=\"formlr\">" );
foreach( $errors as $error )
{
echo( "\t\t\t<li>$error</li>\n" );
}
echo( "\t\t</ul>\n" );
}
?>
<form id='contact' method="post" action="<?php echo( $_SERVER['REQUEST_URI'] ); ?>">
<TR>
<td class="td"> <label for="name">Nom</label></td>
<TD><input type="text" name="name" id="name" value="<?php if (isset($_POST['name'])) echo htmlentities(trim($_POST['name'])); ?>" /> </TD>
</TR>
<TR>
<td class="td"> <label for="from">Votre e-mail</label></td>
<TD><input type="text" name="from" id="from" value="<?php if (isset($_POST['from'])) echo htmlentities(trim($_POST['from'])); ?>" class="input"/> </TD>
</TR>
<TR>
<td class="td"> <label for="object">Objet du message</label> </td>
<TD><select name="object" id="object" class="input" value="<?php echo( $object ); ?>">
<option>Choisissez dans la liste</option>
<option>J'aimerai utilisé les solutions Cybernet</option>
<option>J'ai besoin d'une aide </option>
<option>Je veux plus d'informations </option>
<option>J'ai besoin d'une facture en ligne </option>
<option>Je voudrais investir dans Cybernet</option>
<option>Autres</option>
</select></TD>
</TR>
</TR>
<TR>
<td class="td"> <label for="ville">Province</label> </td>
<TD>
<select id="p" name="province" class="input"><option value="" id="begin">Choisissez votre province</option>
</select>
</TD></TR></TR>
<TR>
<TR>
<td class="td"> <label for="ville">Ville</label> </td>
<TD>
<select name="ville" id="t" class="input">
<option value="" id="begint">Choisissez votre ville</option>
</select> </TD></TR></TR>
<TR>
<td class="td"> <label for="message">Message</label> </td>
<TD> <textarea name="message" id="message" class="td" rows="9" cols="35" value="<?php if (isset($_POST['message'])) echo htmlentities(trim($_POST['message'])); ?>" ></textarea></TD>
</TR>
<TR> <TH></TH> <TD> <input type="submit" name="send" class="input_submit" value="Envoyer" /> </TD></TR>
</form>
<?php
}
?>
</TABLE>
Fichier de vérification :
<?php
include('config2.php');
define( 'MAIL_TO', /* >>>>> */'info@cybernet.cd'/* <<<<< */ ); //Couriel de Cybernet
define( 'VISIT_NAME', '' ); // valeur par défaut
define( 'MAIL_FROM', '' ); // valeur par défaut
define( 'MAIL_OBJECT', '' ); // valeur par défaut
define( 'MAIL_MESSAGE', '' ); // valeur par défaut
define( 'PROVINCE_ABN', '' ); // valeur par défaut
define( 'VILLE_VISIT', '' ); // 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 électronique.';
}
elseif( $from === false ) // si le courriel fourni n'est pas valide
{
$errors[] = 'Votre adresse email est incorrecte';
$from = filter_input( INPUT_POST, 'from', FILTER_SANITIZE_EMAIL );
}
$name= filter_input( INPUT_POST, 'name', FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_HIGH | FILTER_FLAG_ENCODE_LOW );
if( $name === NULL OR $name === false OR empty( $name ) OR $name === VISIT_NAME ) // si l'objet fourni est vide, invalide ou égale à la valeur par défaut
{
$errors[] = 'Vous devez entrer votre Nom';
}
$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.';
}
$province = filter_input( INPUT_POST, 'province', FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_HIGH | FILTER_FLAG_ENCODE_LOW );
if( $province === NULL OR $province === false OR empty( $province ) OR $province === PROVINCE_ABN) // si l'objet fourni est vide, invalide ou égale à la valeur par défaut
{
$errors[] = 'Vous devez mentioné la ville où vous êtes';
}
$ville = filter_input( INPUT_POST, 'ville', FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_HIGH | FILTER_FLAG_ENCODE_LOW );
if( $ville === NULL OR $ville === false OR empty( $ville ) OR $ville === VILLE_VISIT ) // si l'objet fourni est vide, invalide ou égale à la valeur par défaut
{
$errors[] = 'Vous devez mentioné la pronvince où vous êtes';
}
/*VERIFICATION CHAMP 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 avez laisser le champs message vide';
}
if( count( $errors ) === 0 ) // si il n'y a pas d'erreurs
{
if( mail( MAIL_TO, $name, $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 été envoyé.';
}
}
}
else // le formulaire est affiché pour la première fois, avec les valeurs par défaut
{
$from = MAIL_FROM;
$object = MAIL_OBJECT;
$name = VISIT_NAME;
$message = MAIL_MESSAGE;
$province = PROVINCE_ABN;
$ville=VILLE_VISIT;
}
?>
Zhp
Messages postés198Date d'inscriptionmercredi 27 avril 2011StatutMembreDernière intervention 5 mars 201337 2 nov. 2011 à 14:04
Bonjour,
Je suis peut-être bette mais j'ai pas trouver dans le code la partie qui sauvgarde les données du message ...
Sinon l'adresse de "action'" du from est bien la bonne ?
glodybiss
Messages postés440Date d'inscriptionvendredi 6 juin 2008StatutMembreDernière intervention29 juillet 20159 3 nov. 2011 à 08:26
Oui! l'adresse de l'action est bien la bonne sauf que lors de l'envoi de message ça marche que le message n'a pas été envoyé
Zhp
Messages postés198Date d'inscriptionmercredi 27 avril 2011StatutMembreDernière intervention 5 mars 201337 Modifié par Zhp le 3/11/2011 à 13:16
C'est que la fonction "mail" à un problème. Tu a fait des tests avec juste un envoie de mail sans tout le reste ?
Test deja mail avec du texte direct : mail('info@cybernet.cd','sujet du mail','voici le message');
Utilise var_dump() pour voir vraiment ce que tu passe en paramètre a la fonction.
glodybiss
Messages postés440Date d'inscriptionvendredi 6 juin 2008StatutMembreDernière intervention29 juillet 20159 7 nov. 2011 à 10:21
Merci ! Zhp, je vérifie tout de suite et je te dis quoi, sorry pour le retard j'ai eu un problème de connexion ce qui a fait que je puisse répondre maintenant
3 nov. 2011 à 08:26
Modifié par Zhp le 3/11/2011 à 13:16
Test deja mail avec du texte direct : mail('info@cybernet.cd','sujet du mail','voici le message');
Utilise var_dump() pour voir vraiment ce que tu passe en paramètre a la fonction.
Tien ça pourra t'aider : https://www.php.net/manual/fr/function.mail.php
7 nov. 2011 à 10:21