01net    Web


Actuellement en ligne : 854 Utilisateurs dont 35 dans Programmation et développement >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par A.Ouloube, Beno@, smilblick  
01net > Forum de 01net > Programmation et développement > PHP
> Problème de formulaire de contact en php
Auteur
Message
 
<     1       >
pat_etc
  
   
      ?   @     Posté le 24/10/2006 11:23:47  
Voter pour ce message
Bonjour à tous

Voila, je n'arrive pas à faire fonctionner un formulaire de contact
pour un site hébergé sur un serveur privé chez Amen.

Voici le script :

<html>
<head></head>
<body>
<?


function check_mail($champ4) {
if( (preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $champ4)) ||
(preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/',$champ4)) ) {
$host = explode('@', $champ4);
if(checkdnsrr($host[1].'.', 'MX') ) return true;
if(checkdnsrr($host[1].'.', 'A') ) return true;
if(checkdnsrr($host[1].'.', 'CNAME') ) return true;
}
return false;
}
// FIN Fonction de contrôle du mail
$MailTo = "contact@machin.fr";
$MailCc = "expediteur@domaine.com";
$MailSubject = "contact";
$MailHeader = "From: "$champx" ("$champ5");


$Envoi = 1;

if ($champ1 == ""){
echo("Vous n'avez pas complété le champ 1.<br>");
$Envoi = 0;
}
else {
$MailBody .= "Nom : $champ1\n";
}
if ($champ2 == ""){
echo("Vous n'avez pas complété le champ 2.<br>");
$Envoi = 0;
}
else {
$MailBody .= "Prenom : $champ2\n";
}
if ($champ3 == ""){
echo("Vous n'avez pas complété le champ 3<br>");
$Envoi = 0;
}
else {
$MailBody .= "Telephone : $champ3\n";
}
if ($champ4 == ""){
echo("Vous n'avez pas complété le champ 4<br>");
$Envoi = 0;
}
else {
$MailBody .= "Fax : $champ4\n";
}
if ($champ5 == ""){
echo("Vous n'avez pas complété le champ 5<br>");
$Envoi = 0;
}
else {
if (check_mail($champ5)) {
$MailBody .= "Mail : $champ5\n";
}
else {
echo("L'adresse e-mail du champ 4 n'est pas valide<br>");
$Envoi = 0;
}
}
if ($champ6 == ""){
echo("Vous n'avez pas complété le champ 6.<br>");
$Envoi = 0;
}
else {
$MailBody .= "Adresse : $champ6\n";
}
if ($champ7 == ""){
echo("Vous n'avez pas complété le champ 7.<br>");
$Envoi = 0;
}
else {
$MailBody .= "Ville : $champ7\n";
}
if ($champ8 == ""){
echo("Vous n'avez pas complété le champ 8.<br>");
$Envoi = 0;
}
else {
$MailBody .= "Pays : $champ8\n";
}
if ($champ9 == ""){
echo("Vous n'avez pas complété le champ 6.<br>");
$Envoi = 0;
}
else {
$MailBody .= "Message : $champ9\n";
}


if ($Envoi == 0) echo("<p>&nbsp;</p><p>&nbsp;</p><p align=\"center\"><a href="Contact.html"><strong>Retour</strong></a></p>");

if ($Envoi == 1) {
mail($MailTo, $MailSubject, $MailBody, $MailHeader);
//mail($MailCc, $MailSubject, $MailBody, $MailHeader);
echo("<p>Votre message a bien été envoyé.<br>Merci de vos commentaires."); echo("<p>&nbsp;</p><p>&nbsp;</p><p align=\"center\"><a href="Contact.html"><strong>Retour</strong></a></p>");
}
?>
</body>
</html>


Et voici le code pour la partie form de la page contact (Contact.html)


<form method="POST" action="mail.php3" name="Location Riad Jaipur">
<P>Nom* :<br>
<input type="text" name="nom" size="40"></small></font>

<P>Prénom* :<br>
<input type="text" name="champ2" size="40"></small></font>

<P>Tél* :<br>
<input type="text" name="champ3" size="40"></small></font></p>

<P>Fax :<br>
<input type="text" name="champ4" size="40"></small></font></p>

<p>Email* :<br>
<input type="text" name="champ5" size="40"></small></font></p>

<p>Adresse :<br>
<input type="text" name="champ6" size="40"></small></font></p>

<p>Ville* :<br>
<input type="text" name="champ7" size="40"></small></font></p>

<p>Pays :<br>
<input type="text" name="champ8" size="40"></small></font></p>

<P>Votre message :<br>
<textarea rows="4" name="champ9" cols="41"></textarea></small></font></p>

<UL><I>* Champs obligatoire</I></UL>

<P><center><input type="submit" value="Envoyer" name="envoyer"> <input
type="reset" value="Recommencer" name="recommencer">

</form>


Et voici ce qui ce passe quand on clique sur envoyer


"); $Envoi = 0; } else { $MailBody .= "Nom : $champ1\n"; } if ($champ2 == ""){ echo("Vous n'avez pas complété le champ 2.
"); $Envoi = 0; } else { $MailBody .= "Prenom : $champ2\n"; } if ($champ3 == ""){ echo("Vous n'avez pas complété le champ 3
"); $Envoi = 0; } else { $MailBody .= "Telephone : $champ3\n"; } if ($champ4 == ""){ echo("Vous n'avez pas complété le champ 4
"); $Envoi = 0; } else { $MailBody .= "Fax : $champ4\n"; } if ($champ5 == ""){ echo("Vous n'avez pas complété le champ 5
"); $Envoi = 0; } else { if (check_mail($champ5)) { $MailBody .= "Mail : $champ5\n"; } else { echo("L'adresse e-mail du champ 4 n'est pas valide
"); $Envoi = 0; } } if ($champ6 == ""){ echo("Vous n'avez pas complété le champ 6.
"); $Envoi = 0; } else { $MailBody .= "Adresse : $champ6\n"; } if ($champ7 == ""){ echo("Vous n'avez pas complété le champ 7.
"); $Envoi = 0; } else { $MailBody .= "Ville : $champ7\n"; } if ($champ8 == ""){ echo("Vous n'avez pas complété le champ 8.
"); $Envoi = 0; } else { $MailBody .= "Pays : $champ8\n"; } if ($champ9 == ""){ echo("Vous n'avez pas complété le champ 6.
"); $Envoi = 0; } else { $MailBody .= "Message : $champ9\n"; } if ($Envoi == 0) echo("

Retour

"); if ($Envoi == 1) { mail($MailTo, $MailSubject, $MailBody, $MailHeader); //mail($MailCc, $MailSubject, $MailBody, $MailHeader); echo("
Votre message a bien été envoyé.
Merci de vos commentaires."); echo("

Retour

"); } ?>


Si quelqu'un peut m'aider, merci d'avance...

Heis Spiter
  
   
      ?   ^   @     Posté le 24/10/2006 12:16:32  
Voter pour ce message
PHP n'est pas installé/configuré sur le serveur qui gère le site.
pat_etc
  
   
      ?   @     Posté le 24/10/2006 12:35:05  
Voter pour ce message
Merci de la réponse

Qu'est ce que je peux faire alors, sachant que je ne peux pas changer
d'hébergeur (c'est pas moi qui décide...).

Merci
Heis Spiter
  
   
      ?   ^   @     Posté le 24/10/2006 18:15:37  
Voter pour ce message
Ton "serveur privé" c'est du mutualisé ? Du dédié ? Si c'est du mutualisé, tu peux rien faire. Mais bon, du mutualisé sans php ça court pas les rues ! Si c'est du dédié, il faut que tu actives php ou que tu l'installes.
pat_etc
  
   
      ?   @     Posté le 25/10/2006 12:10:23  
Voter pour ce message
Apparement je viens de voir l'adminitrateur du serveur et la fonction php.ini est sur off par défaut. Donc il faut l'active et c'est reparti normalement?
Sauf qu'on n'a pas encore trouvé comment l'activer...

En attendant merci beaucoup pour m'avoir répondu.
Heis Spiter
  
   
      ?   ^   @     Posté le 26/10/2006 11:42:51  
Voter pour ce message
Ca c'est une partie que je ne maîtrise pas. Je n'ai jamais bossé là-dessus. Je pense que le plus simple reste alors de contacter Amen, ou de consulter leur base de connaissances pour savoir comment activer php sans casse.
<     1       >

01net > Forum de 01net > Programmation et développement > PHP
> Problème de formulaire de contact en php

Aller à :

Page générée en : 0.266s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat

PDF Converter Professional
Une solution complète d'édition de fichiers PDF.
Créez des fichiers PDF, transformez-les en document Word, Excel ou Powerpoint, apposez une signature numérique et un mot de passe pour protéger vos données.