Bonjour Richard
Pour répondre, je suis embetté, il y a t'il cybermailing entre la page 1 et la page 2 ?
Si non, la réponse est simple, le formulaire envoi les infos avec la méthode POST et on récupère les données sur la page 2 avec $_POST['nom_du_champs']
au lieu de avec $_GET quand on récupère dans les données de l'url.
exemple :
- Code: Tout sélectionner
Voici votre information <?php echo $_SESSION['nom-du-champs']; ?>
Si oui, c'est + compliqué (sauf en
version pro), et c'est de cette façon que j'ai travaillé tous mes premiers sites :
Il faut, une page, un script intermédiaire après la page 1
page1 -> script -> cybermailing -> page 2
la page 1 envoie en POST
le script récupère les données du POST et en profite pour remplir des variables de SESSION
- Code: Tout sélectionner
<?php
session_start(); // toujours commencer par ceci dès qu'on touche au sessiosn
$_SESSION = $_POST;
?>
Le script reconstruit un formulaire d'inscription cybermailing avec uniquement des champs cachés (contentant les données reçues en post
- Code: Tout sélectionner
<?php
foreach($_POST as $key => $va) {
$form = $form.'<input type="hidden" name="'.$key.'" value="'.$val.'">'
}
?>
Je suppose que l'email est de l'abonné fait partie des données.
on ajoute le no de liste si il n'y est pas
- Code: Tout sélectionner
<?php $form = $form.'<input type="hidden" name="Liste" value="123456">' ?>
Enfin, on affichele formulaire qui va être automatiquement envoyé.
- Code: Tout sélectionner
<html>
<body onload="document.forms[0].submit()">
<form action="http://www.cybermailing.com/mailing/subscribe" method="POST">
<?php echo $form; ?>
<p>Si cette page reste affichée plus de quelques secondes,
<input type="submit" value="Cliquez ici"></p>
</form>
</body>
</html>
Cybermailing redirige ensuite sur la page 2 sans transmettre les infos dans l'url si la case correspondante n'est pas cochée
la page 2 récupère les variables de SESSSION pour faire l'affichage que tu veux.
- Code: Tout sélectionner
<?php
session_start(); // toujours démarrer par ceci quand tu utilises les sessions
?>
- Code: Tout sélectionner
Voici votre information <?php echo $_SESSION['nom-du-champs']; ?>
Une session dure en général 30 minutes (config du serveur) et permet de stocker (donc temporairement) les données du visiteur.
Par contre, pour pouvoir faire cela en version non pro, il faut que l'adresse email de l'abonné soit déjà dans ton compte.
Si elle n'y est pas, le problème, c'est que le passage script -> cybermailing n'est pas autorisé, dans les fait cela passera, mais un de ces jours je vais créer une barrière.
Si elle n'y est pas, il faut forcément page_visible -> cybermailing
En
version pro cette restriction n'existe pas et avec la librairie client de l'API
Tu peux faire page1 -> page2 en POST (tu ne t'occupes pas de faire transiter le visiteur par cybermailing) et dans page 2 tu met un simple
- Code: Tout sélectionner
<?php
$_POST['function'] = 'subscribe';
cyberMailing_connect::talk($_POST);
?>
Ce qui fait que ton serveur relais les infos à cybermailing