Bonsoir,
Et je n'ai pas de messages d'erreur. J'ai bien la phrase de confirmation, mais je ne reçois pas de mail...
Je me suis rendu compte que ma version php sur ovh était périmée, et l'ai donc mis à jour mais rien n'y fait.
J'ai même changé mon adresse mail par une autre voir si cela venait d'ovh, mais non :(
/* Email du destinataire (mettez ici votre email) */
$destinataire = "monmail@domaine.com";
$email = $_POST['email'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$demande = $_POST['demande'];
/*organisation des données*/
$message = '<strong>Nom</strong> :'.$nom.'<br/><strong>Prenom</strong> :'.$prenom.'<br/><strong>E-mail</strong> :'.$email.'<br/> <strong>Message</strong> :'.$demande;
$objet = "Demande de renseignements" ;
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
/* Vérification */
if ( $nom == "" ) {
echo "Veuillez écrire votre nom";
$erreur = true;
}
if ( $email == "" ) {
echo "Veuillez écrire votre entreprise";
$erreur = true;
}
if ( $demande == "" ) {
echo "Veuillez indiquer votre demande";
$erreur = true;
}
$email_regex = "^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+.[a-z0-9-]";
if ( $email == "" OR !eregi( $email_regex , $email ) ) {
echo "Veuillez indiquer un email valide.";
$erreur = true;
}
if ( !$erreur ) {
mail( $destinataire, $objet, $message, $headers);
echo "<div style='position:absolute;width:400px;font-size:1.3em;left:50%;top:50%;transform:translateY(-50%) translateX(-50%)'> <h2>Envoyé !</h2><p>Votre demande a bien été prise en compte. Je vous répondrais dans les plus brefs délais.<br><a href='index.php' class='bouton'>Accueil</a></p></div>";
}
?>```
Deuxième problème, j'ai réalisé mon site en anglais et français, après m'être renseigné sur un code qui marchait lorsque j'était en mode test en ligne, une fois mis à la racine, cela marche sur chrome et safari mac mais pas sur firefox. J'ai le droit au message suivant : La page n'est pas redirigée correctement.
Voici mon code qui est tel quel au tout début de page :
```<?php
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
if ($lang != 'fr')
$index = 'en/index.html';
header("Location: $index",TRUE,301);
?>
J'ai passé 2 jours à chercher partout, merci pour ceux qui auraient le courage de m'aider :)
Il y a vraiment un problème, je viens de recevoir un mail à l'instant, mais qui date de 16h22 avec le message " Le domaine ovh.net n'a pas chiffré ce message" ...
Je test ce que tu me dis
**edit : pour firefox c'est réglé, je n'avais pas ouvert fermé les accolades après la parenthèse du if
if ($lang != 'fr'){
$index = 'en/index.html';
header("Location: $index",TRUE,301);
}
?>
merci !
Merci pour tes réponses, mais les 2 ne donnent rien :(
j'ai mis à la fin du mail.php le code suivant :
if(mail($nom, $email, $demande, $message, $headers)){
echo "envoie de l'email a été reusi";
}
else{
echo "l'envoie de l'email a échoué !";
}
et j'ai bien le message "lenvoie de l'email ok", mais je ne reçois toujours rien.
Pour firefox, j'ai vidé l'historique, cache etc et rien.
Pour la fonction mail()
essaye d'envoyer un mail à mail_tester.com, tu auras toutes les infos
sinon avec mail(), il faut couper les ligne à 70 caractères
Pour Firefox, il faut voir le contenu de $index et le contenu de $_SERVER['ACCEPT_LANGUAGE']
peut-être un pb de minuscule/majuscule ????