SMF Support > FAQ et Tutoriels

intégration enregistrement mail dans mailing list OVH

<< < (3/6) > >>

Robin-d:
Il faut que tu les installes à un endroit précis ! Pas au début ou à la fin du fichier mais près de la requête mysql qui enregistre les membres (vers les lignes 400 je crois).

bazo:
J'ai baladé le script suivant
--- Code: ---include ( "./lib.php" ) ;
$nic = "x" ;
$pass = "x" ;
$domain = "x" ;
$ml = "x" ;


// Vous devez personnaliser les adresses subcribe, unsubscribe, help et faq.
    $mlsub = "$ml-subscribe@$domain";
    $mlunsub = "$ml-unsubscribe@$domain";
    $mlhelp = "$ml-help@$domain";
    $mlfaq = "$ml-faq@$domain";

if(isset($_POST['emailbis']))$mail=$_POST['emailbis'];


// -------------------- Inscription
else {
    if(isset($_POST['action']) == "inscription") {
    // Ouverture de la session, recuperation de l'ID et inscription a la mailing list
    $ssid = ovh ( "Login" , array ( "nic" => $nic , "password" => $pass ) ) or die ( $ovh_status ) ;
    $ssid = $ssid["value"] ;
    $result = ovh ( "MailingListSub" , $ssid , array ( "domain" => $domain , "ml" => $ml , "email" => $mail) ) or die ( $ovh_status ) ;


// fermeture de la session
    ovh ( "Logout" , $ssid ) or die ;
    }

}


--- End code ---
un peu partout dans le fichier register.php mais aucun succès, je l'ai même enlevé du script et toujours le même résultat, le problème ne viendrait pas de register.template.php ?

DeathSign:
Tu dois l'insérer après l'enregistrement effectif c'est-à-dire après la ligne :

--- Code: --- $memberID = registerMember($regOptions);
--- End code ---

(La variable utilisée est au mauvais endroit, je conseillerai l'utilisation de $regOptions['email']

La vérification de la conformité du mail ayant été faite par SMF, tu peux donc enlever la condition (en plus elle ne faisait rien dans le code que tu me montres). La vérification de l'action est aussi inutile car tu sais qu'ici il fait l'inscription.)

En bref, d'après les éléments que je dispose et sans changer fondamentalement le code, j'écrirais  :

--- Code: ---include("./lib.php");

$nic = "x";
$pass = "x";
$domain = "consommateur-gagnant.fr";
$ml = "x";

// Vous devez personnaliser les adresses subcribe, unsubscribe, help et faq.
$mlsub = "$ml-subscribe@$domain";
$mlunsub = "$ml-unsubscribe@$domain";
$mlhelp = "$ml-help@$domain";
$mlfaq = "$ml-faq@$domain";

$mail = $regOptions['email'];

// Ouverture de la session, recuperation de l'ID et inscription a la mailing list
$ssid = ovh("Login", array ("nic" => $nic, "password" => $pass)) or fatal_error('Erreur ouverture session OVH : ' . $ovh_status, true);
$ssid = $ssid["value"];
$result = ovh("MailingListSub", $ssid, array("domain" => $domain, "ml" => $ml, "email" => $mail)) or fatal_error('Erreur ajout mail : ' . $ovh_status, true);

// fermeture de la session
ovh("Logout" , $ssid) or fatal_error('Erreur fermeture session OVH', true);
--- End code ---

Dis moi si quelque chose ne va pas, je n'ai pas testé.

Amicalement,
DeathSign

EDIT: J'utilise fatal_error() à la place des die() pour pouvoir enregistrer l'erreur dans le journal d'erreur et afficher l'erreur avec le thème. Elle a les mêmes fonctions. Mais... En y réfléchissant, j'aurais bien mis des log_error() et dans ce cas il faut modifier le code pour ne pas continuer s'il y a une erreur. L'inscription à la mailing list ne doit pas gêner l'inscription avec SMF.

bazo:
Merci pour l'aide, je viens d'intégrer le code que tu as modifié en dessous de ligne dite mais toujours rien, pas d'erreur mais pas d'inscription ni d'intégration à la mailing list. Une fois les informations tapée et envoyées il revient à l'accueil.

Robin-d:
Tu as du "bousillé" ton fichier register.php ou même register.template, essaye d'en remettre un "neuf" et de retenter la manoeuvre ;)

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version