Mon formulaire de contact sur mon site ne marche pas

Fermé
Boolean - 3 juin 2016 à 15:26
Grandasse_ Messages postés 924 Date d'inscription jeudi 28 janvier 2010 Statut Membre Dernière intervention 27 avril 2023 - 3 juin 2016 à 18:58
Bonjour,
Je viens de coller du code php sur mon site pour faire fonctionner mon formulaire... ça devait marcher via le serveur distant. Sauf que celui qui m'a hébergé me dit que la fonction mail n'est pas activé dans le serveur et que cela ne fonctionnera pas. Je voudrai me servir du serveur de gmail pour lier mon formulaire afin de recevoir des mails à partir de mon site internet... est ce possible? que dois je faire? J'envoie la copie de ma page php :


<?php
$erreur=NULL;
$info=NULL;

if(!empty($_POST['nom']) AND !empty($_POST['email']) AND !empty($_POST['message'])){
extract($_POST);
if(preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $email)){
$nom=htmlspecialchars(addslashes($nom));
$email=htmlspecialchars(addslashes($email));
$site=htmlspecialchars(addslashes($site));
$message=htmlspecialchars(addslashes($message));
$destinataire="***@***";
$sujet="Je vous contacte à partir de votre site internet";
$entete='From :'.$email.'';
$message='Nom : '.$nom.''."\n".'Site : '.$site.''."\n".'Message : '.$message.'';

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

$info="Nous vous confirmons l'envoi de votre e-mail";

unset($_POST,$message,$pseudo,$email,$site);
}
else{
$erreur="Adresse e-mail invalide";
}
}
else{
$erreur="En dehors du champs <em><strong>\"site internet\"</strong></em> tous les autres sont obligatoires.";
}
?>

//Le formulaire

<form action="#">
<div class="col-md-4">
<p><input type="text" placeholder="Votre nom..." id="nom" value="<?php if(isset($_POST['nom'])) echo htmlspecialchars($_POST['nom']);?>"/></p>
<p><input type="text" placeholder="Email..." id="email" value="<?php if(isset($_POST['email'])) echo htmlspecialchars($_POST['email']);?>"/> </p>
<p><input type="text" placeholder="Site internet..." id="site" value="<?php if(isset($_POST['site'])) echo htmlspecialchars($_POST['site']);?>"/></p>
</div>

<div class="col-md-8">
<p>
<textarea name="" placeholder="Message" id="message" value="<?php if(isset($_POST['message'])) echo htmlspecialchars($_POST['message']);?>"></textarea>
</p>
<p class="text-right">
<input type="submit" value="Envoyez"><br/><span style="color:red"><?php echo $erreur;?> </span><span style="color:green"><?php echo $info;?></span>
</p>
</di>

</form>
---------------------------------------
Merci d'avance



1 réponse

Grandasse_ Messages postés 924 Date d'inscription jeudi 28 janvier 2010 Statut Membre Dernière intervention 27 avril 2023 592
3 juin 2016 à 18:58
Bonjour,

Même avec votre gmail ça ne fonctionnera pas parce que la ligne
mail($destinataire, $sujet, $message, $entete);
ne fonctionnera pas.

Donc trois solutions :
- Vous demandez à la personne qui vous héberge de modifier la configuration du serveur
- Vous utilisez une base de donnée pour stocker les messages et vous les reprenez ensuite (c'est du bricolage, on est d'accord)
- Vous changez d'hébergeur ^^
1