[joomla 3!] créer un formulaire de confirmation

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

  • [joomla 3!] créer un formulaire de confirmation

    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 : [joomla 3!] créer un formulaire de confirmation

    En fait, ce sont ces lignes-là qui empêche l'exécution du reste. Vous savez pourquoi? J'en ai besoin pourta

    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' );

    Commentaire


    • #3
      Re : [joomla 3!] créer un formulaire de confirmation

      Pourquoi d'ailleurs je n'ai pas accès aux classes Joomla dans post.php et je dois les inclure?

      Commentaire

      Annonce

      Réduire
      Aucune annonce pour le moment.

      Partenaire de l'association

      Réduire

      Hébergeur Web PlanetHoster
      Travaille ...
      X