[Non-officiel]Un formulaire de contact

Bonsoir,

Pluxml manque d'un formulaire de contact. J'en ai trouvé un ici sur un site pluxml :
http://roure.eu/formulaire.zip
Mais ça reste du bricolage.

Amicalement

Réponses

  • Je n'intégrerai pas (du moins pour l'instant) de formulaire de contact directement dans Pluxml car cela surchargerai le script, par contre je pourrai proposer une solution avec un morceau de code à insérer soit-même.
  • gcyrillusgcyrillus Member
    janvier 2007 modifié
    bonjour,

    en voulant inserer un formulaire de contact dans pluxml (version blog beta ) , j'ai la drole de surprise de m'apercevoir que je n'arrive pas a faire passer les variables ou du moins je ne recupere rien avec $_get.

    (le fichier class_pluxml.php est pour moi encore trop complexe .)

    Ma demarche etait de l'integré au template , pour ainsi beneficié de la mise en page generale et ainsi voir le formulaire suivre le theme choisi (quand le theme switcher est aussi integré).

    un switch / case permet d'inclure le formulaire ($_get + url : ?page=contact ) qui passe en include le fichier "contact.php" stocké dans le repertoire plugin ou continue en mode "home" ou "categorie" .

    La ou je ne comprend plus , c'est que mon formulaire appelé seul fonctionne , traite bien les données envoyées, si il y a et reagit en consequences.

    En l'ajoutant a partir du fichier "template.php" , il est bien integré a l'appel par url , mais impossible de lui faire envoyé quoique ce soit , les $_get reste vide ! il me reaffiche donc le formulaire sans sourcillé d'un poil d'octets .(grrrr)

    extrait de template.php
    <?php 
    // inclusion du switch pour le formulaire de contact 
    
    if (isset($_GET['page'])) 
    	{
    		$page = $_GET['page'] ;
    
    	} else 
    	{
    	$page='vide';
    	}
    
    switch ($page) {
    
    case ($page=='contact'): 
    
    
    include('./core/plugins/contact.php');
    
    break;
    
    default:
    
    //fermeture du premier morceau de l'inclusion du formulaire 
    //il reste a ajouter une accollade pour refemé le script avant la section du menu 
    ?>
    <?php # En mode 'home' ou 'catégorie' # ?>
    <!-- etc ... -->
    
    et le debut de mon fichier "contact.php" :
    <div id="content">
    <?php
    if (isset($_POST['mail']) || isset($_POST['message']) || isset($_POST['name']) ) 
    {
    
    le lien de la page est celui-ci : ?page=contact.
    pour le action du formulaire : j'ai laissé vide : '' , fait : '?page=contact' et index.php?page=contact' le tout avec toujours le même resultat aprés envoi du formulaire l'url se transforme en ?page , les variables ne sont pas passées pourtant le formulaire se reaffiche bien !?

    <edit>je vien d'ajouter aussi le capcha , pensant qu'il pouvait eventuellement y a voir interference , mais non ! </>

    Comment faire pour integré/autorisé 4 varaibles supplementaires a passer par l'url en plus dans pluxml ?
    a savoir , page , nom , mail et message .


    Ou alors suis je si nul que j'utilise une methode inadaptée ?

    GC


    <reedit> , heu , je doit etre nul , en effet ça ne parait pas adapté du tout aprés reflexion ... je vais laissé tombé l'idée de l'include pour le moment </>
  • gcyrillusgcyrillus Member
    février 2007 modifié
    J'ai enfin trouvé solution a mon probleme ,
    mais pas comme je l'esperait.

    En regardant un peu plus pré le code de pluxml , j'ai pensé qu'il ne devrait pas etre trop difficille d'ajouté ce foutu formulaire , le formulaire de commentaire a deja tout ce qu'il faut , sauf que je n'ai pas eté foutu de comprendre le fonctionnement de la class pluxml , je suis un peu trop "rookie" en php pour ça.

    Je me suis donc rabattu sur le get au lieu du post en essayant de faire simple et pas trop loin de l'idée de pluxml (n'empeche que j'aurais preferé pouvoir ajouté 2 fonctions a la class et ainsi etre totalment intégré a plum et avoir aussi le capcha !).

    Le formulaire en action , au sein de 2 themes psuke (a ne pas copier svp sans l'accord de l'auteur) et de diapoxml .

    http://gcyrillus.free.fr/decoupe-fr/pluxml/plumskinswitch/

    le zip avec quelques explication pour l'install

    http://gcyrillus.free.fr/pluxml-plugin/

    Mon but etait de pouvoir integré un formulaire de contact tout en conservant la mise en page et la navigation . Pour moi , c'est convenable.

    Une petite mise a jour , dans le cas ou la fonction mail est desactivé sur votre espace web.

    Le message d'erreur vous indiquant que le mail n'a pu etre envoyé par le serveur est completer par un lien mailto. Ce lien mailto n'apparait que si le serveur n'envoi pas le mail.

    http://gcyrillus.free.fr/pluxml-plugin/pluginformulairemlt.zip

    GC
  • Ola,


    Aurais tu la possibilité de détailler ta techninque pour ajouter de nouvelle page a pluml, dites "statique".
    J'aimerai ajouter 2-3 pages en gardant le design, ainsi que les variables de base (title, ce qui a dans le footer, etc...) mais je ne sais pas trop comment faire et j'ai du mal a saisir vos methode a tous, je dois etre trop novice.

    Merci
  • Bonjour,

    je ne sais pas trop ce que tu recherche exactement .

    Pluxml fonctionne sur un fichier template .

    Dans ce fichier template , il y a les different mode d'affichage de la partie "dites" de contenu qui peut varier . Quand a l'entete le menu et le pied , ces portions de codes sont reutilisé a chaque fois.

    Pour utiliser l'une ou l'autre de ces options d'affichage , pluxml verifie le contenue de la variable "mode" .. En fonction de sa valeur , home , cat ou article , le morceau de template utilisé ne sera pas le même.

    On peut donc a partir de cette particularité , multiplié le nom des ces valeurs de la variable "mode" et créer pour chacune de ses nouvelles 'options' d'affichage , un bloc suplementaire au template.

    3 etapes pour appeler un morceau de template differents de ceux par defaut de pluxml
    1) envoie par l'url d'une varaible et d'une valeur
    2) teste avec $-GET si variable et initialisation de la variable "mode" de pluxml en consequence
    3)affichage / selection de la portion du template correspondant a la valeur de la variable mode.

    L'option que j'ai choisie , est la plus simple , j'initialise le nom de ma nouvelle valeur en passant par l'url:
    ex:
    <a href=?contact=contact" title="formulaire de contact">Contact</a>
    
    Ensuite dans le fichier "index.php" , je teste si j'ai cette valeur est passée.
    if(!empty($_GET['contact'])) {
        $pluxml->mode = 'contact';
    define('GC_CONTACT', 'core/plugins/gc_contact');
    // fichier config script formulaire
    include (GC_CONTACT.'/scpt_contact/gc_contact.php');
    }
    
    A l'occasion comme il s'agit d'un plugin , alors j'en profite pour chargé les modules necessaires (les valeur , GC_BLABLA , sont definie plus haut dans le fichier index.php , il s'agit des chemins ou se trouve les modules)

    Maintenant que j'ai tester si j'avais une variable contact avec une valeur passé par l'url , j'initialise alors la variable "mode" en lui donnant la valeur que je veux , ici contact , restons logique :) .

    La variable mode est initialise et le fichier index.php fini par inclure le fichier 'template.php'.

    Dans celui-ci , il me reste a ajouter mon morceau de template correspondant en testant la valeur de la variable "mode" , si celle ci correspond alors j'inclus cette portions de code et je fais l'impasse sur les autres tests. .Ce morceau de template , peut etre simplement placé dans un fichier externe.
    <?php # En mode 'contact' # ?>
    <?php if($pluxml->mode == 'contact'): ?>
    include (GC_CONTACT.'/contact.php');
    <?php endif; ?> 
    <?php # fin mode contact ?>
    
    GC
Connectez-vous ou Inscrivez-vous pour répondre.