[joomla3 !] Développer un formulaire de confirmation de mail

Réduire
X
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [joomla3 !] Développer un formulaire de confirmation de mail

    Bonjour,

    j'essaie de développer une extension pour Joomla 3!, mais quand j'inclue des fichier j'ai l'impression que le reste de mon code ne s'exécute pas.
    Par ailleurs je galère à accéder à la base de données (il ne se passe rien) et l'envoi des mails ne fonctionne pas. Bref j'ai la totale !

    Page qui appelle post.php :
    Code PHP:
    <?php defined('_JEXEC') or die;
    $doc JFactory::getDocument();
    $doc->addScript(JURI::root(). 'modules/mod_mail/jquery-1.11.1.min.js' ); 
    ?>

    <div class="promo-module item-image pull-left <?php echo htmlspecialchars($moduleclass_sfx); ?>">
        <form method="post" action="post.php">
            <p>
                <label>Nom</label> : <input type="text" name="nom" id="nom" />
                <label>Prénom</label> : <input type="text" name="prenom" id="prenom" />
                <label>Email</label> : <input type="email" name="email" id="email" />
                <input type="button" name="valider" value="S'inscrire" id="valider" />
            </p>
        </form>
        <p id="confirmation">Votre inscription a bien été prise en compte.</p>

    <script>
    $(document).ready(function(){
         $('#valider').click(function(){
            execScript();
         });

    });

    function execScript(){
        $.post('<?php echo JURI::root();?>\\modules\\mod_mail\\tmpl\\post.php',
        {
            nom:$("#nom").val(),
            prenom:$("#prenom").val(),
            email:$("#email").val()
        },
        function(data,status){
            if(status=="success"){
                alert(data);
            }
        });
    }
                
    </script>

    </div>

    post.php :
    Code PHP:
    require_once('..\\..\..\\libraries\\loader.php' ); //nécessaire pour utiliser jimport
    jimport'joomla.factory'); //nécessaire pour utiliser JFactory

    $doc JFactory::getDocument();
    $doc->addScript(JURI::root(). 'modules/mod_mail/jquery-1.11.1.min.js' ); 

    require(
    'PHPMailer\\_lib\\phpmailer-fe.php');
    require(
    'PHPMailer\\_lib\\class.phpmailer.php');

    function 
    nofaille($post){
        
    $post=stripslashes($post);
        
    $post=mysql_real_escape_string($post);
        return 
    $post;
    }

    $nom nofaille($_POST['nom']);
    $prenom nofaille($_POST['prenom']);
    $email nofaille($_POST['email']);

    // Get a db connection.
    $db JFactory::getDbo();
     
    echo 
    "database : ".$db;
     
    // Create a new query object.
    $query $db->getQuery(true);
     
    // Insert columns.
    $columns = array('nom''prenom''email');
     
    // Insert values.
    $values = array($nom$prenom$email);
     
    // Prepare the insert query.
    $query
        
    ->insert($db->quoteName('dnmjz_mail'))
        ->
    columns($db->quoteName($columns))
        ->
    values(implode(','$values));
     
    // Set the query using our newly populated query object and execute it.

    echo $query;

    $db->setQuery($query);
    $db->execute();


    // Récupération des variables nécessaires au mail de confirmation    
    $email $_POST['email'];
     
    // Préparation du mail contenant le lien d'activation
    $destinataire $email;
    $sujet "Ecoslops - Inscription à la liste de diffusion" ;
    $entete "From: inscription@ecoslops.com" ;
     
    // Le lien d'activation est composé du login(log) et de la clé(cle)
    $message 'Bonjour '.$_POST['prenom'].' '.$_POST['nom'].',
     
    Votre inscription a bien été prise en compte. Vous recevrez les communiqués de presse d\'Ecoslops, et serez tenu au courant de l\'actualité. Pour vous désinscrire, vous pouvez envoyer un mail à l\'adresse ecoslops.citigate.fr
     
     
    ---------------
    Ceci est un mail automatique, Merci de ne pas y répondre.'
    ;
     
    function 
    email($destinataire$sujet$message$from='elzbiekta0509@gmail.com'){ 
        
    $mail = new PHPmailer();
        
    $mail->IsSMTP();
        
    $mail->IsHTML(true);
        
    $mail->Host='smtp.gmail.com';
            
    // Serveur SMTP
        
    $mail->From=$from;
        
    $mail->FromName='Ecoslops Test';
        
    $mail->SMTPAuth=true;
            
    // Si il y a une connexion email/password requise alors = true sinon = false
        
    $mail->Username='elzbietka0509@gmail.com';
            
    // Username, l'émail de connexion au serveur SMTP
        
    $mail->Password='F3rdYdurk3G0mbr0w1cz4';
            
    // Password, le mot de passe de connexion au serveur SMTP
        
    $mail->SMTPDebug=false;
            
    // Si tu a des soucis d’envoi met sur TRUE pour activé le mode débug
        
    $mail->AddAddress($destinataire);
        
    $mail->AddReplyTo($from);   
        
    $mail->Subject=$sujet;
        
    $mail->Body=$message;
     
        if(!
    $mail->Send()){
          return 
    false;
          
    // Erreur
        
    }
        else{    
          return 
    true;
          
    // Bien envoyé
        
    }
        
    $mail->SmtpClose();
        unset(
    $mail);
    }

    email("elisabeth.abbaszadeh@ecoslops.com""teeeeest""????""bla"); 

  • #2
    Re : [joomla3 !] Développer un formulaire de confirmation de mail

    C'est un module ou un composant? j'ai un peu du mal a comprendre la structure de ton code. J'ai l'impression que tu renvois directement ton formulaire sur un fichier php pour le traitement dans lequel tu n'as pas le framework Joomla le moyen le plus simple serait de faire un composant complet, de traiter ton formulaire avec le controller principale. Ça serait plus logique pour ce type d'utilisation ou plus simplement si tu ne cherches pas a faire autre chose utilise un composant de gestion de formulaire.

    Commentaire

    Annonce

    Réduire
    1 sur 2 < >

    C'est [Réglé] et on n'en parle plus ?

    A quoi ça sert ?
    La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

    Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

    Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
    Comment ajouter la mention [Réglé] à votre discussion ?
    1 - Aller sur votre discussion et éditer votre premier message :


    2 - Cliquer sur la liste déroulante Préfixe.

    3 - Choisir le préfixe [Réglé].


    4 - Et voilà… votre discussion est désormais identifiée comme réglée.

    2 sur 2 < >

    Assistance au forum - Outil de publication d'infos de votre site

    Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

    Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

    Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

    UTILISER À VOS PROPRES RISQUES :
    L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

    Problèmes connus :
    FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

    Installation :

    1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

    Archive zip : https://github.com/AFUJ/FPA/zipball/master

    2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

    3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

    4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

    5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

    6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
    et remplacer www. votresite .com par votre nom de domaine


    Exemples:
    Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
    Télécharger le script fpa-fr.php dans: /public_html/
    Pour executer le script: http://www..com/fpa-fr.php

    Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
    Télécharger le script fpa-fr.php dans: /public_html/cms/
    Pour executer le script: http://www..com/cms/fpa-fr.php

    En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

    Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
    Voir plus
    Voir moins
    Travaille ...
    X