Aller au contenu

Formulaire de contact PHP ...


Sujets conseillés

Posté

Bonjours à tous,

Sur mon site j'ai créé une page "Contact" avec un script, de contact, qui avant marchais bien, et aujourd'hui, il ne marche plus.

Après avoir écrit le message j'ai : "Message bien envoyé", mais je ne reçoit rien ! :/

PS : C'est un script que j'ai trouvé sur le net, le voici :

<html>
<?php //Pour tous les paramètres -> 1 = oui; 0 = non
$email_admin = 'je-cache-mon-mail'; // Votre email
$nom_site = 'Jessy.H'; // Le nom du site où sera installé le script
$sujets = array('Problèmes','Renseignements','Autres'); // Sujets possibles aux messages (pour en rajouter prenez exemple sur les 3 premiers)
$choix_urgent = 0; // Vous pouvez choisir d'activer ou non la fonction "urgent", ainsi l'internaute pourra signaler que son mail est urgent ou non
$choix_nom = 1; // Nom obligatoire
$votre_mail = 0; // Afficher votre adresse email directement ?

//
// Ne pas modifier ci-dessous
//

if(isset($_POST['envoyer']) && $_POST['envoyer'] == 'ok')
// Si l'on envoye quelque chose
{
$reponse = '<br />';
$mail = htmlentities($_POST['mail']); // On récupère l'email
$nom = htmlentities($_POST['nom']); // Le nom
$sujet = htmlentities($_POST['sujet']); // Le sujet
$message = nl2br(htmlentities($_POST['message'])); // Le message
$urgent = htmlentities($_POST['urgent']); // On récupère le type du message


if($choix_nom == 1)
// Si le nom est obligatoire
{
if(!empty($nom))
// Si le champ est bien rempli on met 1
{
$Snom = 1;
}
elseif(empty($nom))
// Sinon on met 0
{
$Snom = 0;
}
}
else
// Si le champ n'est pas activé on met 1
{
$Snom = 1;
}



if(!empty($mail) && !empty($message) && $sujet != '' && $Snom == 1)
// On vérifie que l'email, le message et le sujet sont bien présent et on vérifie si tout est correct avec le nom
{

// L'entete du message
$entete = "MIME-Version: 1.0\r\n";
$entete .= "Content-type: text/html; charset=iso-8859-1\r\n";
$entete .= "From: <$mail>\r\n";
$entete .= "Reply-To: $mail\r\n";

$email = ''; // La variable du message a envoyer

if($urgent == 1) // Si le message est urgent on le signal
$email .= '<strong>Message urgent !!</strong><br />';

if(empty($nom))
$nom = 'NON INDIQUE';

// On créée le message
$email .= 'Vous recevez ce message de votre site <u>' .$nom_site. '</u> pour une raison <strong>' .$sujets[$sujet]. '</strong>.<br />Son email est : ' .$mail. '<br /><br />';
$email .= 'Le message de l\'utilisateur <u>' .$nom. '</u> :<br />-----<br />';
$email .= $message;
$email = stripslashes($email);

mail($email_admin, 'Message Internaute: ' .$sujets[$sujet], $email, $entete); // Et on envoye le tout

$reponse .= 'Votre message a bien été transféré au webmaster. Nous vous remercions.<br />'; // on indique que tout s'est bien déroulé.
}
else
{
$reponse .= 'Merci de bien completer tous les champs.<br />'; // On indique une erreur
}
}
?>
</html>

<body><form name="form1" method="post" action="">
<p><strong><?php echo $reponse; ?></strong></p>
<fieldset>
<?php
if($votre_mail == 1)
{
echo '<p>Adresse email du webmaster : <u>' .$email_admin. '</u></p>';
}
?>
<p><label>Votre email : <input type="text" name="mail">*</label></p>
<p><label>Votre nom complet : <input type="text" name="nom"><?php if($choix_nom == 1) { echo '*'; } ?></label></p>
<p>Sujet de votre message :
<select name="sujet">
<?php
for($i = 0; $i < count($sujets); $i++)
{
echo '<option value="' .$i. '">' .$sujets[$i]. '</option>';
}
?>
</select>*
</p>
<?php
if($choix_urgent == 1)
{
echo '<p>Votre message est-il urgent ? :<br />';
echo '<label><input type="radio" name="urgent" value="1"> Oui</label><br />';
echo '<label><input type="radio" name="urgent" value="0" checked> Non</label><br />';
echo '(Merci de ne pas abuser de l\'urgence)</p>';
}
?>
<p>
Votre message : <br />
<textarea name="message" cols="55" rows="10"></textarea>*
</p>
<p>
<input type="hidden" name="envoyer" value="ok">
<input type="submit" name="Submit" value="Envoyer">
<input type="reset" name="Submit2" value="Réinitialiser">
</p>
<p>* Champs obligatoires.
</fieldset>
</form>
</a></body>

J'ai essayer d'installer 3 autres script, et pareil, ils ne marche pas ! :o

Est-ce parce que mon Mail est en hotmail.com ?

Merci de votre aide. :)

Posté

Où est hébergé ton site ?

Certains fournisseurs d'espace web gratuit (comme Free), limitent l'utilisation de la fonction mail.

Tu peux déjà modifier une ligne :

if(mail($email_admin, 'Message Internaute: ' .$sujets[$sujet], $email, $entete)) { // Et on envoye le tout

$reponse .= 'Votre message a bien été transféré au webmaster. Nous vous remercions.<br />'; // on indique que tout s'est bien déroulé.

}

De cette manière, le message "Votre message ..." n'apparaîtra que si le mail est effectivement envoyé.

Posté (modifié)

Bonjour, j'utilise Free

Quand je met la ligne donnez, j'obtiens une erreure :

http://jessy.houcke.free.fr/page2.php

Parse error: syntax error, unexpected $end in /mnt/164/sda/3/2/jessy.houcke/page2.php on line 153

La ligne 153 c'est :

<?php include("includ2.php"); ?>

Modifié par easytype
Posté

Au dessus de :

<?php include("includ2.php"); ?>

Il y'a :

<html>
<?php //Pour tous les paramètres -> 1 = oui; 0 = non
$email_admin = 'je-cache-mon-mail'; // Votre email
$nom_site = 'Jessy.H'; // Le nom du site où sera installé le script
$sujets = array('Problèmes','Renseignements','Autres'); // Sujets possibles aux messages (pour en rajouter prenez exemple sur les 3 premiers)
$choix_urgent = 0; // Vous pouvez choisir d'activer ou non la fonction "urgent", ainsi l'internaute pourra signaler que son mail est urgent ou non
$choix_nom = 1; // Nom obligatoire
$votre_mail = 0; // Afficher votre adresse email directement ?

//
// Ne pas modifier ci-dessous
//

if(isset($_POST['envoyer']) && $_POST['envoyer'] == 'ok')
// Si l'on envoye quelque chose
{
$reponse = '<br />';
$mail = htmlentities($_POST['mail']); // On récupère l'email
$nom = htmlentities($_POST['nom']); // Le nom
$sujet = htmlentities($_POST['sujet']); // Le sujet
$message = nl2br(htmlentities($_POST['message'])); // Le message
$urgent = htmlentities($_POST['urgent']); // On récupère le type du message


if($choix_nom == 1)
// Si le nom est obligatoire
{
if(!empty($nom))
// Si le champ est bien rempli on met 1
{
$Snom = 1;
}
elseif(empty($nom))
// Sinon on met 0
{
$Snom = 0;
}
}
else
// Si le champ n'est pas activé on met 1
{
$Snom = 1;
}



if(!empty($mail) && !empty($message) && $sujet != '' && $Snom == 1)
// On vérifie que l'email, le message et le sujet sont bien présent et on vérifie si tout est correct avec le nom
{

// L'entete du message
$entete = "MIME-Version: 1.0\r\n";
$entete .= "Content-type: text/html; charset=iso-8859-1\r\n";
$entete .= "From: <$mail>\r\n";
$entete .= "Reply-To: $mail\r\n";

$email = ''; // La variable du message a envoyer

if($urgent == 1) // Si le message est urgent on le signal
$email .= '<strong>Message urgent !!</strong><br />';

if(empty($nom))
$nom = 'NON INDIQUE';

// On créée le message
$email .= 'Vous recevez ce message de votre site <u>' .$nom_site. '</u> pour une raison <strong>' .$sujets[$sujet]. '</strong>.<br />Son email est : ' .$mail. '<br /><br />';
$email .= 'Le message de l\'utilisateur <u>' .$nom. '</u> :<br />-----<br />';
$email .= $message;
$email = stripslashes($email);

mail($email_admin, 'Message Internaute: ' .$sujets[$sujet], $email, $entete); // Et on envoye le tout

$reponse .= 'Votre message a bien été transféré au webmaster. Nous vous remercions.<br />'; // on indique que tout s'est bien déroulé.
}
else
{
$reponse .= 'Merci de bien completer tous les champs.<br />'; // On indique une erreur
}
}
?>
</html>

<body><form name="form1" method="post" action="">
<p><strong><?php echo $reponse; ?></strong></p>
<fieldset>
<?php
if($votre_mail == 1)
{
echo '<p>Adresse email du webmaster : <u>' .$email_admin. '</u></p>';
}
?>
<p><label>Votre email : <input type="text" name="mail">*</label></p>
<p><label>Votre nom complet : <input type="text" name="nom"><?php if($choix_nom == 1) { echo '*'; } ?></label></p>
<p>Sujet de votre message :
<select name="sujet">
<?php
for($i = 0; $i < count($sujets); $i++)
{
echo '<option value="' .$i. '">' .$sujets[$i]. '</option>';
}
?>
</select>*
</p>
<?php
if($choix_urgent == 1)
{
echo '<p>Votre message est-il urgent ? :<br />';
echo '<label><input type="radio" name="urgent" value="1"> Oui</label><br />';
echo '<label><input type="radio" name="urgent" value="0" checked> Non</label><br />';
echo '(Merci de ne pas abuser de l\'urgence)</p>';
}
?>
<p>
Votre message : <br />
<textarea name="message" cols="55" rows="10"></textarea>*
</p>
<p>
<input type="hidden" name="envoyer" value="ok">
<input type="submit" name="Submit" value="Envoyer">
<input type="reset" name="Submit2" value="Réinitialiser">
</p>
<p>* Champs obligatoires.
</fieldset>
</form>
</a></body>

Posté

˙˙˙lıǝo,p dnoɔ ǝpıdɐɹ un uǝ ,,xnɐɟ,, ǝp ǝʌnoɹʇ uǝıɹ ıɐ,u ǝɾ

Oups désolé.

<joke type="private" mode="off" />

Bon je disais qu'en un rapide coup d'il, je n'ai pas trouvé d'erreur dans l'énorme code donné. D'ailleurs, il sort d'où?

Il nous faut les lignes 143-155 de page2.php je pense pour en savoir plus.

Posté

Hello ! :D

Arf, j'ai modifier mon code donc je ne sais plus à quoi correspondent ces lignes ... :s

Sinon,

$email_admin = 'je-cache-mon-mail'; // Votre email

Quand je met une adresse Hotmail, je ne reçois rien.

Quand je met une adresse Laposte.net, je reçois les mails.

Donc le problème serais résolu ? ^^

Mais vu que je ne vais jamais sur ma boite Laposte ... Bref x)

Posté

Non, pas dans spam, j'ai aussi regardez si j'avais bloqué l'expéditeur, mais non ...

Ce que je ne comprend pas c'est qu'avant cela marché sur Hotmail ..

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...