Forums Webou.net - Hébergement gratuit et sans publicités avec PHP/MySQL

Programmation => PHP/MySQL - (x)HTML - ... => Discussion démarrée; par: nicolaskerebel le 18 Janvier 2009, 19:48:38



Titre: Formulaire de contact
Posté par: nicolaskerebel le 18 Janvier 2009, 19:48:38
Bonjour à tous,

Je me bats depuis quelques temps pour créer un formulaire de contact sur ma page mais... sans succès.
Je l'ai fait en suivant le tutoriel suivant : http://www.technick.fr/webmaster/formulaire_dreamweaver.htm

Il semble que le problème vient de l'action cgi-bin/mailer que j'ai configuré. Mais je n'ai pas de répertoire nommé cgi-bin en local.
Désolé de ne pas pouvoir formuler plus clairement ce problème, c'est juste qu'il n'est pas clair pour moi non plus :)

Voici le script de la page en espérant que ça aide:

Code:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.style5 {font-family: Arial; font-size: 14px; font-weight: bold; }
.style6 {
color: #666666;
font-size: 13px;
}
.style7 {font-size: 13px}
.style8 {font-family: Arial; font-size: 13px; font-weight: bold; }
.style12 {color: #666666}
.style15 {font-size: 36px}
.style18 { font-size: 13px;
font-family: Arial;
color: #666666;
font-weight: bold;
}
-->
</style>
<script type="text/javascript">
<!--
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
</head>

<body onload="MM_preloadImages('images/homew.jpg')">
<p><a href="#" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Home','','images/homew.jpg',1)"><img src="images/homeb.jpg" name="Home" width="39" height="40" border="0" id="Home" /></a></p>
<p align="center"><span class="style5 style15">Contact</span></p>
<p>&nbsp;</p>
<form action="/cgi-bin/mailer" method="post" enctype="multipart/form-data" name="Contact" id="Contact">
  <table width="578" border="1" align="center">
    <tr>
      <td width="266" height="22"><span class="style8">Nom // <span class="style12">Name</span></span></td>
      <td width="296"><label>
        <input type="text" name="NAME" id="NAME" />
      </label></td>
    </tr>
    <tr>
      <td><span class="style8">Sujet // <span class="style12">Subject</span></span></td>
      <td><label>
        <input type="text" name="SUBJECT" id="SUBJECT" />
      </label></td>
    </tr>
    <tr>
      <td><span class="style8">Message // <span class="style12">Message</span></span></td>
      <td><textarea name="MSG" id="MSG" cols="45" rows="5"></textarea></td>
    </tr>
    <tr>
      <td><span class="style8">Document joint // <span class="style12">Attached document</span></span></td>
      <td><label>
        <input type="file" name="DOC" id="DOC" />
      </label></td>
    </tr>
    <tr>
      <td height="36"><p class="style5"><span class="style7">Votre adresse e-mail</span><span class="style6">// Your mail address</span><br/>
      </p>      </td>
      <td><label>
        <input name="FROM" type="text" id="FROM" value="" />
      </label></td>
    </tr>
  </table>
  <div align="center"><span class="style8">Merci de renseigner une adresse e-mail valide // </span> <span class="style18">Please write a valid mail address</span><br/>
    <br/>
  </div>
  <div align="center">
    <input type="submit" name="Submit" id="Submit" value="Envoyer // Send" />
    <input name="TO" type="hidden" id="TO" value="nicolas.kerebel@hotmail.fr" />
    <input name="GOTOURL" type="hidden" id="GOTOURL" value="http://nicolaskerebel.webou.net/form_ok.html" />
  </div>
</form>
<p>
</body>
</html>

Merci de votre aide!

Edit k@cem : J'ai mis ton code dans la balise [ code], faut pas l'oublier quand tu poste un code ;)


Titre: Re: Formulaire de contact
Posté par: risk_star le 18 Janvier 2009, 23:26:21
merci mon ami


Titre: Re: Formulaire de contact
Posté par: MIkE le 19 Janvier 2009, 17:14:53
Bonjour,

C'est un contournement du problème, mais c'est la solution la plus simple (et elle fonctionne à coup sûr), pourquoi ne pas utiliser la fonction php mail ()?

Des tonnes de tutoriaux sont dispos sur internet ;).


Titre: Re: Formulaire de contact
Posté par: K@cem le 23 Janvier 2009, 18:03:07
Salut,
Tu peux pas utiliser CGI sur Webou ;)
Comme l'a dit Mike utilise la fonction mail(), c'est mieux ...
++


Titre: Re: Formulaire de contact
Posté par: Moua le 17 Juillet 2009, 14:02:22
Salut,

Il y a un super tuto de création de formulaire de contact là : http://blog.myeasyprog.fr/formulaire-de-contact-avec-phpmailer/ (http://blog.myeasyprog.fr/formulaire-de-contact-avec-phpmailer/).
Tu crée le formulaire de A à Z avec PHPMailer qui est plus pussiant que la fonction mail() de PHP.

Il y a de quoi faire un truc bien sécurisé et anti-spam.


Titre: Re: Formulaire de contact
Posté par: AlexandreB le 27 Août 2009, 22:21:46
Bonjour,

je n'arrive pas du tout à mettre en place le formulaire. En faite je bloque à partir de l'AJAX, je ne vois pas comment créer tout ça...

Cordialement.


Titre: Re: Formulaire de contact
Posté par: clemgaut le 29 Août 2009, 20:54:34
Voilà mon code pour envoyer un mail. C'est sommaire mais ça marche :
Code:
<form method="post">
<label for="mail">Votre adresse mail : <input type="text" name="mail" id="mail" <?php echo 'value="'.$_SESSION['mail'].'"'?> /></label><br /><br />
Sujet : <br />
<textarea name="sujet" rows="3" cols="30"></textarea><br /><br />
Message : <br />
<textarea name="message" rows="20" cols="50"></textarea><br /><br />
<input type="submit" value="Envoyer" /><br />
</form>
<?php
if(isset($_POST['mail']) AND isset($_POST['sujet']) AND isset($_POST['message']))//on peut juste remplacer isset par !empty et la deuxieme condition peut-etre enlev&#233;e
{
if($_POST['mail']!=NULL AND $_POST['sujet']!=NULL AND $_POST['message']!=NULL)
{
if(preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#"$_POST['mail']))//si c'est bien une adresse mail
{
$mail=htmlspecialchars($_POST['mail']);
$sujet=htmlspecialchars($_POST['sujet']);
$message=nl2br(htmlspecialchars(stripslashes($_POST['message'])));
$destinataire="ton adresse mail";//a toi de mettre ton adresse
$from="FROM: ".$mail."\r\n";

if(mail($destinataire$sujet$message$from))//on envoie le mail
                        
{
      echo 'Message envoy&#233;.<br />';
                         }
                          else
                          {
                              echo 
'Echec lors de l\'envoi.<br />';
                          }
}
else
{
echo 'Adresse e-mail invalide. <br />';
}
}
else
{
echo 'Vous n\'avez pas rempli tous les champs. <br />';
}
}
?>
Normalement ça marche.

EDIT :  avait confondu avec un autre sujet. Désolé.