inscription à une newsletter

Eléphanteau du PHP | 14 Messages

14 déc. 2006, 11:51

Aie aie aie! J'espère que c'était bien Mailing liste et pas Max lynchage!!! :lol:

Mammouth du PHP | 592 Messages

14 déc. 2006, 11:56

il y a un truc auquel je viens de penser si tu veut envoyer des infos du flash vers du php il te faudra se petit script "actionscript":

Code : Tout sélectionner

if ((mail eq "")) { gotoAndPlay(55); } else { loadVariablesNum("mail.php", 0, "POST"); play(); }
voila voila @ +

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

14 déc. 2006, 11:56

attention ryle on est dans débuter en php :P
Vi c'est sur, mais c'est par pour autant qu'on ne peut pas lui proposer une autre solution parce que celle-ci est en javascript ? ;)
(pis vu qu'il a refait tout son site en flash, il a probablement de bonnes bases en js à défaut de php)
ML=mail list ???
ou
ML= maximum lynchage????
:lol:
maximum lynchage !! :twisted:
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 592 Messages

14 déc. 2006, 11:59

non je parlais pas de ça mais des abréviations !!!

faut pas etre si :evil: :evil: :evil: :evil:


:lol:

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

14 déc. 2006, 12:07

Arf, oki.. c'est vrai que c'était pas forcément évident... encore que le sujet du topic pouvait quand même le mettre sur la voie s'il avait eu un doute :)

(et pis c'est bien de laisser planer le doute quant à la possibilité que ce soit une question de lynchage ;))
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 14 Messages

14 déc. 2006, 12:32

Bien.. Alors maintenant j'ai ça:
<?
$mail=$_POST['Email'];
var url = 'http://HEBERGEUR/mail/mailinglist_process.php';
var method = 'POST';
var params = 'maillist=XXXXXX=&action=add&url=http://www.minkus.ch&add=Inscription&text='+Email;



?>

Est ce que je garde le echo que tu as noté dans la 1ère réponse ou bien me faut il un header???

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

14 déc. 2006, 13:04

Euh, ce n'est pas tout à fait ça... l'utilisation d'ajax comme je te le suggère te permet de soumettre ton adresse en javascript, directement depuis ton flash, sans passer par php, sans avoir à changer de page...

Regarde un peu comment fonctionne ajax, le principe est assez simple. Il te suffit de créer un objet HTTPRequest en javascript, et de faire appel aux méthodes open() et send() de cet objet avec les paramètres ci-dessus.

Tu peux même récupérer le résultat du traitement (en réalité ce qui serait affiché à l'écran si l'utilisateur avait validé le formulaire html) et en déduire qu'il a réussi ou non (en repérant une phrase par exemple)

En fait, au lieu de soumettre ton formulaire en flash, tu aurais juste à faire appel à une fonction javascript :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 14 Messages

14 déc. 2006, 14:28

Je viens d'aller faire un tour sur Ajax.... Mais alors on pourrait insérer la requête à cette fichue mailing liste directement depuis le flash?
Alors ici je te mets le script de l'inscription, dis moi comment tourner le truc?
:roll:
on (release)
{
Email = Emailinsc.text;
if ( (Email == "") || (Email.indexOf("@") == -1) || (Email.indexOf(".") == -1) )
Status.text = "SVP entrez votre Email";
else
{
loadVariablesNum("inscription.php",0,'POST'); Status.text = "Vous êtes inscrit";
gotoSceneAndPlay("<current scene>",3);
}
}

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

14 déc. 2006, 15:38

En fait, en flash il te suffit de faire appel à une fonction javascript en lui passant l'email que tu veux inscrire (avec tous les tests qui vont bien autour :)) :

Code : Tout sélectionner

on (release){ getURL("javascript:makeRequest("+Emailinsc.text+")"); // c'est bien le '+' pour concatener en flash hmm ? }
Et dans ta page, il te faut ajouter un bout de code javascript :
<script>
function makeRequest(email) {
	
    http_request = false;

    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!http_request) {
        alert('Abandon : Impossible de créer une instance XMLHTTP');
        return false;
    }

    http_request.onreadystatechange = handleResult; // appelle la fonction handleResult() pour gérer le résultat

// ICI TU SPECIFIES L'URL DU SCRIPT ET LES PARAMETRES A PASSER :)
    var url = 'http://HEBERGEUR/mail/mailinglist_process.php'; 
    var params = 'maillist=XXXXXX=&action=add&url=http://www.minkus.ch&add=Inscription&text='+email; 

    http_request.open('POST', url, true); // ouvre la connexion au script
    http_request.send(params); // envoi les paramètres

}
function handleResult(result) {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) { 
          // si jamais tu souhaites confirmer que tout c'est bien passer
          // résultat de la requête dans la variable http_request.responseText
         } else {
            alert('Un problème est survenu avec la requête.');
        }
    }
}
</script>
Je ne rentre pas dans le détail de l'objet et des méthodes, tu trouveras plein d'info la dessus sur le forum JS/Ajax et sur google :) C'est surtout pour te donner une idée de comment procéder... n'hésite pas à changer l'url et à récupérer les valeurs en php pour vérifier que tout est correctement envoyé avant de le basculer sur leur outil d'inscription :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 14 Messages

14 déc. 2006, 15:53

nom de nom! ça c'est du costaud!
Alors maintenant que je commençait à peine à m'habituer à devoir passer par .Php...
Si j'ai tout compris, le 2ème script va aussi dans flash?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

14 déc. 2006, 17:17

Nope (enfin je ne crois pas), la deuxième partie est destinée à la page php/html qui affiche ton flash (tu dois avoir une balise <embed> ou <object> ou <chépaquoi>, suffit de rajouter le bloc <script> avant ou après, ça peut très bien être dans l'entête de ta page html (<head></head>) :))

C'est l'appel à getURL("javascript:...") qui te permet d'y accéder depuis flash :)

En très résumé, on va dire que ça simule un navigateur. Il se connecte à la page demandé et passe les paramètres que tu lui donne, puis récupère le résultat affiché à l'écran et te le ramène. Donc en gros, y a deux choses interessantes à comprendre :
-l'envoi des données
    http_request.open('POST', url, true); // ouvre la connexion au script 
    http_request.send(params); // envoi les paramètres 
-le retour du résultat
if (http_request.status == 200) {  
          // si jamais tu souhaites confirmer que tout c'est bien passer 
          // résultat de la requête dans la variable http_request.responseText 
         }
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 14 Messages

14 déc. 2006, 19:41

Et bien, avec tout ça je vais pouvoir bien avancer... Je te remercie vraiment beaucoup pour ton aide! :D