[ADDON] Formulaire de CONTACT.PHP [ADDON] Formulaire de CONTACT.PHP
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

[ADDON] Formulaire de CONTACT.PHP

Started by Pascal YAP, October 17, 2006, 02:36:17 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Pascal YAP

:-: ADDON CONTACT :-:
par Gyzmo
Bonjour,


Cet addon est un script de "CONTACT" minimaliste.
Le script vérifie si les champs obligatoires sont renseignés. Et si l'adresse email contient bien le "@" et le "."
Si vous apportez des améliortions à ce script n'hésitez pas à poster votre script modifié.

En premier lieu créez les quatre fichiers PHP suivant.

Créez le fichier contact.php et coller le code suivant :

<?php
/*************************
  Cobbled together by Billy Bullock
  Tested on Coppermine 1.4.4
  Reference link for code = "http://www.ibdhost.com/contact/"
  lil moded by PYAP
**************************/

define('IN_COPPERMINE'true);
require(
'include/init.inc.php');

$ipi getenv("REMOTE_ADDR");
$httprefi getenv ("HTTP_REFERER");
$httpagenti getenv ("HTTP_USER_AGENT");

pageheader('Contactez PYAP');

// start first table content
    
starttable("800"'Contactez PYAP'1);
    
?>

    <tr>
    <td class="tableb" valign="top" align="left">
       Merci de contacter <b>PYAP</b> via cette modeste Galerie de photos.
       <br><center>ICI CE QUE VOUS VOULEZ</center>
    </td>
    </tr>
    <?php
    endtable
();
// end first table content

// start comment feedback content
    
starttable("800"'Formulaire Contact Info'1);
    
?>

    <tr>
    <td class="tableb" valign="top" align="left">
       * Tous les champs sont requis.
    </td>
    </tr>
    <tr>
    <td class="tableb" valign="top" align="center">
      <form method="post" action="sendmail.php">

      <input type="hidden" name="ip" value="<?php echo $ipi ?>" />
      <input type="hidden" name="httpref" value="<?php echo $httprefi ?>" />
      <input type="hidden" name="httpagent" value="<?php echo $httpagenti ?>" />

      * Votre Nom : <br />
      <input type="text" name="visitor" size="35" />
      <br />
      * Votre Email :<br />
      <input type="text" name="visitormail" size="35" />
      <br />
      Sujet :<br />
      <input type="text" name="subject" size="35" />
      <br /> <br />
      <br />
      * Votre Message :
      <br />
      <textarea name="notes" rows="8" cols="60"></textarea>
      <br />
      <input type="submit" value="! Go Post ! Go !" />
      <br />
      </form>
    </td>
    </tr>
    <?php
    endtable
();
// end comment feedback content

pagefooter();
ob_end_flush();
?>



Créez le fichier contacterror.php et coller le code suivant :
<?php
//   lil moded by PYAP
define('IN_COPPERMINE'true);
require(
'include/init.inc.php');
pageheader('Contact');
// start page content
    
starttable("800"'<b><font color="red">E R R E U R</font>'1);
    
?>

    <tr>
    <td class="tableb" valign="top" align="center"><b><font color="red">E R R E U R</b><br>
      Vous oubliez certains champs obligatoires !<br />
      Faites la correction en cliquant le bouton <b>BACK</b> de votre navigateur.<br />
      Merci.<br /><br />
     
      <i>Please fill in all required fields.<br /><br />
      Press the <b>BACK</b> button in your browser and try again.<br /><br />
      Thank you.</i></font><br />
             <br><center><!-- &nbsp;<img src="http://www.votre-site.com/img.jpg">--></center>
    </td>
    </tr>
    <?php
    endtable
();
// end page content
pagefooter();
ob_end_flush();
?>


Créez le fichier sendmail.php et coller le code suivant :
<?php

/*************************
  Cobbled together by Billy Bullock
  Tested on Coppermine 1.4.4
  Reference link for code = "http://www.ibdhost.com/contact/"
  lil moded by PYAP
**************************/

  
$visitor $_REQUEST['visitor'] ;
  
$visitormail $_REQUEST['visitormail'] ;
  
$subject $_REQUEST['subject'] ;
  
$notes $_REQUEST['notes'] ;

// Modifiez ces adresses
// change address to your root CPG gallery below 4 times

  
if (!isset($_REQUEST['visitormail'])) {
    
header"Location: http://www.votre-site.com/contact.php" );
  }

  elseif(!
$visitormail == "" && (!strstr($visitormail,"@") || !strstr($visitormail,"."))) {
    
header"Location: http://www.votre-site.com/contacterror.php" );
  }
  elseif (empty(
$visitor) || empty($visitormail) || empty($notes)) {
    
header"Location: http://www.votre-site.com/contacterror.php" );
  }

  else {
    
$todayis date("l, F j, Y, g:i a") ;

    
$notes stripcslashes($notes);

    
$message $todayis [EST] \n
    Poste par : 
$visitor ($visitormail)\n
    Sujet : 
$subject \n
    Message : 
$notes \n
    Autre Info : IP = 
$ip \n
    Navigateur Info : 
$httpagent \n
    Depuis la Page : 
$httpref \n
    "
;

    
$from "Par : $visitormail\r\n";

// Indiquez votre adresse email / change to your email
    
mail("VOUS-MÊME@votre-site.com"$subject$message$from);

    
header"Location: http://www.votre-site.com/thankyou.php" );
  }

?>


Créez le fichier thankyou.php et coller le code suivant :
<?php
//   lil moded by PYAP
define('IN_COPPERMINE'true);
require(
'include/init.inc.php');
pageheader('Contact');
// your actual page content starts here
    
starttable("800"'Merci and Thanks'1);
    
?>

    <tr>
    <td class="tableb" valign="top" align="center">
       Nous vous remercions pour votre email :-) <br />
       <i>Thank you for your email.</i>
              <br><center><!-- <img src="http://www.VOTRE-CPG/IMG.JPG">--></center>
    </td>
    </tr>
    <?php
    endtable
();
// your actual page content ends here
pagefooter();
ob_end_flush();
?>


Comment installé cet addon ?
1 : / Ouvrez le fichier SENDMAIL.PHP et renseignez les adresses des scripts correctement.
        ainsi que l'adresse email vers laquelle vous voulez expédier ce contact.
2 : / Téléchargez CONTACT.PHP, SENDMAIL.PHP, CONTACTERROR.PHP et THANKYOU.PHP à la racine de votre Coppermine.
3 : / Ajoutez un lien (txt ou bouton) vers "votre-cpg/contact.php" où bon vous semble sur votre Thème.
4 : / Modifiez selon vos désirs...

Deux liens pour vous aider à installer un nouveau bouton :
Ajouter un lien : http://forum.coppermine-gallery.net/index.php?topic=24107.0
Ajouter de nouvelles pages : http://forum.coppermine-gallery.net/index.php?topic=21000.0

PYAP

arbrezhoneg

Après la validation, j'ai l'explorateur me dit "The requested URL /thankyou.php was not found on this server."
Pourtant tous les fichiers on bien été transférés en même temps, et même après avoir retransféré les fichiers j'ai le même problème.
Par contre le mail est bien envoyé.

Ca me parait bizarre comme problème, ça viendrait plutôt du serveur à priori, vu que le code sait bien quel fichier aller chercher, que celui ci est présent sur le serveur, mais qu'il ne le trouve pas.

En même temps ça ne serait pas la première chose bizarre (cf. mon post sur les mails envoyés à l'administrateur en anglais)

Mais en tout cas, ce code est bien pratique pour permettre aux utilisateurs de contacter facilement le Webmaster ou le propriétaire du site par exemple.

Pascal YAP

Bonjour,

Vérifiez dans le fichier SENDMAIL.PHP l'exactitude de l'adresse du fichier THANKYOU.PHP (en fin de fichier)


PYAP

arbrezhoneg

C'est bon, Désolé d'avoir posté, j'avais oublié de mettre la galerie dans le chemin.

Vraiment désolé d'avoir posté pour ça, mais comme quoi qd une erreur est évidente elle ne saute pas aux yeux.

Bonne journée.

arbrezhoneg

J'ai à nouveau une petite question.
Mais cette fois concernant une amélioration possible, ou plutot sa faisabilité.

Serait-il possible d'utiliser ce formulaire pour envoyer un mail à plusieurs personnes différentes.
Par là, j'entends non pas plusieurs personnes à la fois, mais plutot dans un cas une personne, dans un autre cas une autre personne, ...

Je pense que ça doit être faisable en mettant une liste déroulante où l'utilisateur choisit à qui il veut envoyer un message, et ensuite le programme choisit l'adresse mail concernée, et affiche un message différent dans thankyou.php, en fonction de la personne contactée.
L'avantage serait de pouvoir contacter soit le webmaster, soit les administrateurs, soit la personne pour qui le site à été fait, et encore mieux les membres enregistrés (mais là ils faut aller récupérer leur adresse dans la base de donnée SQL)

Sinon l'idéal serait que le destinataire puisse être défini par le biais de l'hyperlien (du genre .../contact.php?destinataire=webmaster ou .../contact.php?destinataire=administrateur ) et si rien n'a été spécifié dans l'hyperlien afficher la liste déroulante.

Voilà mes idées, ce sont juste des propositions mais j'aimerais bien pouvoir coder cela, le problème est que je ne m'y connais pas suffisament. Mais si quelqu'un peut me donner des pistes ou des exemples, je veux bien m'y accrocher.

Sinon dans un premier temps je vais me débrouiller en créant de nouveau fichier conctact1.php, thankyou1.php, ...

Bonne journée à tous

Pascal YAP

Bonjour,

QuoteSinon dans un premier temps je vais me débrouiller en créant de nouveau fichier conctact1.php, thankyou1.php, ...

C'est la solution la plus aisée et parfaitement accessible au plus grand nombre !
Vous avez raison, faites contact1 qui appele sendmail1 puis thankyou1 (ou contacterror1 ou général).
Dans ce cas, n'oubliez pas les paramètres dans chaque sendmail1 2 ou 3.php  ;)
Pour la liste déroulante c'est du HTML de base...

Vous pouvez bien entendu personnaliser les PHP ! par expl cherchez dans contact1 2 3 ou 4.php <center>ICI CE QUE VOUS VOULEZ</center> et notez ce que vous voulez.

PYAP

mister_digitall

Bravo, je l'ai installé ça marche nickel.

Davide Renda

super, ça marche OK!
J'ai modifié la largeur des tables (à 500px) pour rentrer dans mon thème et ça fait plus "serieux" que un lien du type "mailto:"
D'ailleurs, plusieurs thèmes ont dèjà des liens à personaliser, donc très pratique!

megamagnus

Oui ca fonctionne bien mais il y a t'il moyen d'intègrer le code captcha dedans comme pour l'inscription?
exemple ici!

http://takethu.com/communicate.php

Pascal YAP

#9
Bonjour Megamagnus,

QuoteOui ca fonctionne bien mais il y a t'il moyen d'intègrer le code captcha dedans comme pour l'inscription?
exemple ici!
Oui c'est la Galerie de TranzNDance qui fait partie de l'équipe de dév de Coppermine.
Cherchez avec les mots clefs TranzNDance et CAPTCHA, pour voir ce que vous trouvez  ;)

En fin de compte ce doit être possible en codant un peu !

PYAP

megamagnus

QuoteOui c'est la Galerie de TranzNDance
Oui c'est justement grace à cette charmante personne que j'ai pu intègrer le Viper Guestbook sur ma gallerie. Etant très mauvais en Php ca va pas etre facile de coder un truc pareil(je suis plutot designer)mais je vais rechercher mon bonheur dans ce long topic.
http://forum.coppermine-gallery.net/index.php?topic=29564.60
Yep au passage,merci pour ta réponse.

Pascal YAP

Le lien ci-dessus ne fait jamais état de la confirmation que vous recherchez  ???
Celà ne concerne que les Commentaires.

Quelqu'un  veut coder ?  ;D


PYAP

claude258

J'ai installé le tout et çca fonctionne bien. Sauf que les accents (é,è par exemple) apparaissent avec des caractères bizarres lorsque je reçois les messages.

Exemple,les mots ''été'' et ''énoncés'' apparaissent de la façon suivante lors de la réception du message ''été'' et ''énoncés''

Quelqu'un d'autre a ce problème? Avez-vous une solution?

Lien: http://claudebriere.net/coppermine/contact.php

Merci.
claude

Pascal YAP

Bonjour Claude,

Votre mailer reçoit-il en UTF-8 ?
Perso je n'ai pas ce problème !

PYAP

claude258

Qu'est-ce qu'on entend par recevoir en UTF-8?
Les 4 fichiers CONTACT.PHP, SENDMAIL.PHP, CONTACTERROR.PHP et THANKYOU.PHP ont été sauvegardé en UTF-8. Y a t-il autre chose à faire ou à vérifier? ???

Claude

Pascal YAP

QuoteQu'est-ce qu'on entend par recevoir en UTF-8?
Votre programme de réception de emails est-il configuré en UTF-8 ?

Après avoir correctement configuré vos 4 fichiers, la config de votre programme reste la seul chose à configurer.
D'ailleurs tous vos programme de consultation Web devraient être configuré en UTF-8.

PYAP

claude258

Mon programme de réception de emails est HOTMAIL. Si je comprends bien, je dois configurer HOTMAIL? Comment? ???
Je ne penses pas qu'on peut configurer HOTMAIL. Je suis peut-être dans l'erreure.
http://login.live.com/login.srf?id=2&svc=mail&cbid=24325&msppjph=1&tw=0&fs=1&fsa=1&fsat=1296000&lc=3084&_lang=FR

Claude

Pascal YAP

QuoteJe ne penses pas qu'on peut configurer HOTMAIL.
Non c'est sûre !
Par contre ce que vous pouvez configurer c'est le logiciel que vous utilisez pour consulter vos email  ???


Chez Firefox : Menu "Affichage" > > Sous-menu "Encodage des Caractères" >> Unicode (UTF-8)
Chez IE : Menu "Affichage" >> Codage >> Unicode (UTF-8)

PYAP

ProJ3ct

Jignore si sa peut aider mais javais se probleme que jai résolue en modifiant :

Configuration
Langue & jeux de caractere
Jeux de caractere utf-8