Page 1 sur 1

Formulaire contact

Posté : dim. 31 janv. 2010, 23:30
par Angel
Bijour, bisoir :D

J'ai un petit problème voyez-vous, je n'arrive pas à créer un formulaire de contact... voilà comment se présente la barre d'outil

Image

Je sais même pas si on peut coder html dedans, et de toute façon, j'y connais rien en encodage X ou Y... sans commentaire :D

Quelqu'un a des suggestions ? Parce que après 2h30 à chercher sur google, je fatigue :smt017
J'ai réussi à mettre 3 champs textes et un bouton "envoyer", mais j'ai cru comprendre qu'il fallait du PHP pour l'envoit d'informations.

Posté : lun. 01 févr. 2010, 02:03
par Latnel
Théoriquement un formulaire de contact c'est une bonne idée.
Dans le concret c'est différent, non pas techniquement, mais disons plutôt dans le principe.

Je veux dire par là que tu cherches à faire compliquer pour un formulaire qui risque de n'être utiliser qu'une dizaine de fois.
La solution 100x plus simple consiste à remplacer ton formulaire par une simple balise en HTML.

Code : Tout sélectionner

<a href="mailto:adresse@blabla.org"></a>
Après si tu tiens absolument à faire un formulaire, je te recommande de rechercher sur des codes de Newsletter, que tu pourras facilement trouver sur le site du Zéro.
Avec un peu de bon sens et un peu de débrouille tu pourras t'organiser un petit formulaire.

Posté : lun. 01 févr. 2010, 03:27
par Velvorn
Latnel a écrit :La solution 100x plus simple consiste à remplacer ton formulaire par une simple balise en HTML.
...et ainsi augmenter tes chances de te faire pourrir de spams, puisque des milliers de bots parcourent chaque jour la toile à la recherche de ce type de balise pour envoyer des publicités vantant les mérites de la pilule bleue :D

A toi de voir.

(la balise code du forum fonctionne très mal, au passage)

Posté : lun. 01 févr. 2010, 03:38
par Aspic
Sinon, y'a le truc un peu plus efficace de "l'image avec ton adresse mail dessus" que le visiteur doit recopier. Ou bien sinon, le "mailto" mais avec "adresseAROBASEblablaPOINTcom", ça marche pas mal aussi. :D

Posté : lun. 01 févr. 2010, 08:28
par Kak Miortvi Pengvin
Velvorn a écrit :(la balise code du forum fonctionne très mal, au passage)
Il faut penser à cocher la case désactiver le HTML dans ce message si tu veux en mettre dedans. ;)

Posté : lun. 01 févr. 2010, 12:12
par Angel
J'ai trouvé un genre "d'assistant de création de formulaire"
Qui finit par me donner ça :
<?php

// On vérifie si la fonction ini_set() a été désactivée...
$desactive = ini_get('disable_functions');
if (preg_match("/ini_set/i", "$desactive") == 0) {
// Si elle n'est pas désactivée, on définit ini_set de manière à n'afficher que les erreurs...
ini_set("error_reporting" , "E_ALL & ~E_NOTICE");
}

// Vérifier que le formulaire a été envoyé...
if (isset($_POST['envoi'])) {


//On commence une session pour enregistrer les variables du formulaire...

session_start();

$_SESSION['champ1'] = $_POST['champ1'];
$_SESSION['zone_email1'] = $_POST['zone_email1'];

//Enregistrement des zones de texte...
$_SESSION['zone_texte1'] = $_POST['zone_texte1'];

// Définir l\'icone apparaissant en cas d\'erreur...


// Définir sur 0 pour afficher un petit x de couleur rouge.
// Définir sur 1 pour afficher l\'image d\'une croix rouge telle que celle utilisée dans l\'assistant
// Si vous utilisez l\'option 1, l\'image de la croix rouge \'icone.gif\' doit se trouver dans le répertoire \'images\',
// ce dernier devant se trouver au même niveau que votre formulaire...
$flag_icone = 0;

// On vérifie si $flag_icone est défini sur 0 ou 1...
if ($flag_icone == 0) {
$icone = "<b><font size=\"3\" face=\"Arial, Verdana, Helvetica, sans-serif\" color=\"#CC0000\">x</font></b>";
} else {
$icone = "<img src=\"images/icone.gif\"";
}

// Définir l'indicateur d'erreur sur zéro...
$flag_erreur = 0;
// N'envoyer le formulaire que s'il n'y a pas d'erreurs...
if ($flag_erreur == 0) {

// Addresse de réception du formulaire
$email_dest = "le-chevalier-d_argent@hotmail.fr";
$sujet = "Nouveau message";
$entetes ="MIME-Version: 1.0 \n";
$entetes .="From: Danpora-X895<danpora-X895@cusi.fr>\n";
$entetes .="Return-Path: Danpora-X895<danpora-X895@cusi.fr>\n";
$entetes .="Reply-To: Danpora-X895<danpora-X895@cusi.fr>\n";
$entetes .="Content-Type: text/html; charset=iso-8859-1 \n";
$partie_entete = "<html>\n<head>\n<title>Formulaire</title>\n<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>\n</head>\n<body bgcolor=#FFFFFF>\n";


//Partie HTML de l'e-mail...
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Pseudonyme = " . $_SESSION['champ1'] . "</font><br>\n";
$partie_zone_email .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Adresse e-mail (facultatif) = " . $_SESSION['zone_email1'] . "</font><br>\n";
$partie_zone_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Message = " . $_SESSION['zone_texte1'] . "</font><br>\n";


// Fin du message HTML
$fin = "</body></html>\n\n";

$sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_listes . $partie_boutons . $partie_cases . $partie_zone_texte . $fin;


// Send the e-mail
if (@!mail($email_dest,$sujet,$sortie,$entetes)) {
echo("Envoi du formulaire impossible");
exit();
} else {

// Rediriger vers la page de remerciement
header("Location:http://danpora-x895.cusi.fr/message-envoye-.html");
exit();
} // Fin else
} // Fin du if ($flag_erreur == 0) {
} // Fin de if POST
?>
<html>
<!--
Assistant de création de formulaires PHP pour les nuls - Version gratuite 1.6
Auteur : Frédéric Ménard (assistant@f1-fantasy.net)
Site : http://www.f1-fantasy.net/assistant
-->
<head>
<title>Formulaire</title><script language="JavaScript">


function verifSelection() {


if (document.mail_form.champ1.value == "") {
alert("Merci de préciser un pseudonyme !")
return false
}

} // Fin de la fonction
</script>
</head><body><form name="mail_form" method="post" action="<?=$_SERVER['PHP_SELF']?>" onSubmit="return verifSelection()">
<div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif, Tahoma"><strong>Formulaire
de contact</strong></font></div><br><table align="center" width="566" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="16"><div align="center">
<font color="#CC0000" size="2" face="Verdana, Arial, Helvetica, sans-serif, Tahoma"><strong><?php
if ($erreur_champ1) {
echo(stripslashes($erreur_champ1));
} else {
if ($erreur_email1) {
echo(stripslashes($erreur_email1));
} else {
if ($erreur_texte1) {
echo(stripslashes($erreur_texte1));
} else {
} // Fin du else...
} // Fin du else...
} // Fin du else...
?>
</strong></font>
</div></td>
</tr>
</table>
<p align="center"></p><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Pseudonyme</font></div></td>
<td align="center" valign="middle" width="30">
<?php
if ($erreur_champ1) {
echo($icone);
}
?>
</td>
<td><input name="champ1" type="text" value="<?=stripslashes($_SESSION['champ1']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Adresse e-mail (facultatif)</font></div></td>
<td width="30" align="center" valign="middle">
<?php
if ($erreur_email1) {
echo($icone);
}
?>
</td>
<td><input name="zone_email1" type="text" value="<?=stripslashes($_SESSION['zone_email1']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140" valign="top"><div align="right"><font face="Verdana" size="2">Message</font></div></td>
<td width="30" align="center" valign="top">
<?php
if ($erreur_texte1) {
echo($icone);
}
?>
</td>
<td><textarea name="zone_texte1" cols="45" rows="10"><?=stripslashes($_SESSION['zone_texte1']);?></textarea></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td valign="top"><div align="center">
<input type="reset" name="Reset" value=" Effacer ">

<input type="submit" name="envoi" value="Envoyer">
</div></td></tr></table><div align="center"><input name="nbre_fichiers" type="hidden" id="nbre_fichiers" value=""></div></form></body></html>
J'y vois de moins en moins clair :smt017

Posté : lun. 01 févr. 2010, 12:29
par Blast
Aspic a écrit :Sinon, y'a le truc un peu plus efficace de "l'image avec ton adresse mail dessus" que le visiteur doit recopier. Ou bien sinon, le "mailto" mais avec "adresseAROBASEblablaPOINTcom", ça marche pas mal aussi. :D
A moins d'être stupide, n'importe quel programmeur de niveau 2 saura coder son robot pour qu'il puisse récupérer la majorité des adresses affichées ainsi.

Posté : lun. 01 févr. 2010, 18:39
par magickirua
Pour Angel : Le code que tu présentes pourrait fonctionner, mais il faut juste que tu fasses attentions à certains points :

- j'ai été voir rapidement sur ton site et déjà il faudrait que ta page nommée "Contact" soit une page *.php et non pas *.html . C'est bête, mais déjà ça marchera mieux. Même si tu ne comprend pas le php, tu peux toujours recopier directement ce code mais en faisant attention à...

- ... bien reprendre ton code de base de contact.html et de le recopier au bon endroit. Je ne sais pas comment est fait ton code de base mais en gros ça doit être du genre <html><body> ...... </body></html>. Tu dois donc faire bien attention à ne jamais répéter ces balises, il n'y en a qu'une seule de chaque dans ton code.

Bon je ne sais pas si je suis très clair, mais au pire si t'es vraiment bloqué tu n'as cas m'envoyer ta page html j'essayerai de te faire ça.

Posté : lun. 01 févr. 2010, 20:21
par Inky
Blast a écrit :
Aspic a écrit :Sinon, y'a le truc un peu plus efficace de "l'image avec ton adresse mail dessus" que le visiteur doit recopier. Ou bien sinon, le "mailto" mais avec "adresseAROBASEblablaPOINTcom", ça marche pas mal aussi. :D
A moins d'être stupide, n'importe quel programmeur de niveau 2 saura coder son robot pour qu'il puisse récupérer la majorité des adresses affichées ainsi.
Tu parles de l'image ou de l'adresse sous la forme de "adresseAROBASEblablaPOINTcom" ?
Dans les deux cas, le risque est potentiellement présent. Il faut savoir jouer avec la police, les couleurs, et le style d'écriture du texte de l'image pour que l'adresse soit illisible pour les robots mais lisibles pour les humains.

Avec les liens mailto et les formulaires qui utilisent cette fonction dans un espace non protégé (visible de tous), les robots en profiteront c'est certains. Donc, oui : Il faut avoir recourt au php et la fonction mail() (le php étant un langage non visible dans le code source de la page). MAIS, il faut penser à vérifier que l'expéditeur de mail via le formulaire soit humain avec un code de vérification, une question bête ou un captcha. Sinon, il faudra s'abonner à la petite pilule bleue...

Posté : lun. 01 févr. 2010, 21:31
par Angel
magickirua a écrit :Pour Angel : Le code que tu présentes pourrait fonctionner, mais il faut juste que tu fasses attentions à certains points :

- j'ai été voir rapidement sur ton site et déjà il faudrait que ta page nommée "Contact" soit une page *.php et non pas *.html . C'est bête, mais déjà ça marchera mieux. Même si tu ne comprend pas le php, tu peux toujours recopier directement ce code mais en faisant attention à...

- ... bien reprendre ton code de base de contact.html et de le recopier au bon endroit. Je ne sais pas comment est fait ton code de base mais en gros ça doit être du genre <html><body> ...... </body></html>. Tu dois donc faire bien attention à ne jamais répéter ces balises, il n'y en a qu'une seule de chaque dans ton code.

Bon je ne sais pas si je suis très clair, mais au pire si t'es vraiment bloqué tu n'as cas m'envoyer ta page html j'essayerai de te faire ça.
Euh... j'ai pas tout compris... je crois que je vais me rabattre sur une image indiquant mon adresse mail :D Surtout qu'avec un hébergeur qui fonctionne comme un blog en création de page, je sais pas si je pourrais tout faire correctement.

Merci tout de même de votre aide les gars :)

Posté : lun. 01 févr. 2010, 22:14
par magickirua
Ah ben si tu peux pas éditer oui c'est même pas la peine de te faire chier, autant comme tu dis mettre ton adresse mail directement. Bonne chance pour la suite.