Page 1 sur 1

formulaire avec plusieurs champs...

MessagePosté: Mar Oct 01, 2013 4:10 am
par richard44
Bonjour Lionel,

Voici ce que j'aimerai faire:

Je voudrais que mes affiliés aient une page personnalisée avec des liens d'affiliation.

1ere page:
Champs prénom
Champs ID d'affiliation
Champs ID d'affiliation
Champs ID d'affiliation
Champs ID d'affiliation
Champs ID d'affiliation

2ème page:

Cette page appartient à prénom

lien d'affiliation perso
lien d'affiliation perso
lien d'affiliation perso
lien d'affiliation perso
lien d'affiliation perso

Personnalisation de la page pour chaque affilié sans que les donné passe par l'URL.

Est-il possible de faire ça sans base de donnée ?

Amicalement,

Richard

Re: formulaire avec plusieurs champs...

MessagePosté: Mar Oct 01, 2013 2:25 pm
par Lionel Palazzi
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&eacute;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

Re: formulaire avec plusieurs champs...

MessagePosté: Mar Oct 01, 2013 3:25 pm
par richard44
Merci Lionel pour ta réponse hyper détaillée.

Voici ce que je veux (pas de cybermailing entre les 2).

Une page ou la personne rentre son prénom et ses lien d'affiliation
Code: Tout sélectionner
<form method="POST" action="inscription.php">
Votre prénom: <input type="text" name="c"><br />
Votre lien d'affiliation N°1: <input type="text" name="c"><br />
Votre lien d'affiliation N°2: <input type="text" name="c"><br />
Votre lien d'affiliation N°3: <input type="text" name="c"><br />
Votre lien d'affiliation N°4: <input type="text" name="c"><br />
Votre lien d'affiliation N°5: <input type="text" name="c"><br />
</form>


Et la deuxième page (nommée inscription) je veux que ça soit sa page personnelle d'affiliation avec ses liens personnels


Si tu peux me mettre le code des 2 pages car je ne suis pas très fort en code. :(

Amicalement,

Rick44

Re: formulaire avec plusieurs champs...

MessagePosté: Mer Oct 02, 2013 4:02 pm
par Lionel Palazzi
Salut Richard

Je peux mais à quoi ca sert ?
Je m'explique, à quoi ca sert de leur afficher ce qu'ils te donnent.
Et qu'imagine tu qu'il se passe si il ferment leur page et reviennent.
Il faut qu'il entrent encore leur données pour que tu puisses les réafficher ?

Si c'est pour développer ton programme d'affiliation, je ne vois pas comment tu peux
te passer de base de données, c'est à toi de leur donner leur liens.
Il faut que tu gère leur connection (login mot de passe) leur attribue un identifiant d'affilié
et utilise cet identifiant pour coder leur lien et l'afficher.

En tout cas, pour faire ce que tu veux faire:

PAGE1
Code: Tout sélectionner
<form method="POST" action="inscription.php">
Votre prénom: <input type="text" name="prenom"><br />
Votre lien d'affiliation N°1: <input type="text" name="L1"><br />
Votre lien d'affiliation N°2: <input type="text" name="L2"><br />
Votre lien d'affiliation N°3: <input type="text" name="L3"><br />
Votre lien d'affiliation N°4: <input type="text" name="L4"><br />
Votre lien d'affiliation N°5: <input type="text" name="L5"><br />
</form>


PAGE2 (inscriptions.php)
Code: Tout sélectionner
<h1>Page Personelle</h1>
<p>Vos informations : </p>
Votre prénom: <?php echo $_POST['prenom'] ?><br />
Votre lien d'affiliation N°1: <?php echo $_POST['L1'] ?><br />
Votre lien d'affiliation N°2: <?php echo $_POST['L2'] ?><br />
Votre lien d'affiliation N°3: <?php echo $_POST['L3'] ?><br />
Votre lien d'affiliation N°4: <?php echo $_POST['L4'] ?><br />
Votre lien d'affiliation N°5: <?php echo $_POST['L5'] ?><br />



Mais je crois que cela ne sert à rien...